Skip to main content

Full text of "TPUG Newsletter Issue 15"

See other formats


The Magazine For ALL Commodore Computer Users 





Hagasina 



^©OTTO i^^£3?i^^^ 



mimEwws^ 



i|6nojoqje3S 

assets ssei? 

suiaisiai) pjttiii 

3xiukxiu3 ^\hQ 

3^n UOtf l>*^ i»6#rtcy 

M)«Od ctwut^ 



"56698"721A5' 



H' 



BETTERWORKING 

from SPINNAKER 

SPREADSHEET 



SPREADSHEET is the ideal program for 
planning budgets and preparing financial 
statements, as well as creating text and 
organizing information. 
It is fast, versatile and powerful enougti to 
fiandle all your spreadsfieet needs. 



} 



And it's easy enougfi to understand and use nghit away. 
SPREADSHEET combines a full-feature spreadsfieet witfi basic 
\vord-processing and tfie sorting and searcfiing capabilities of a 
database. 

95 



$59 



NEW FROM ^MTK] 



SUMMERGAMESn 



• Includes Cycling. Foncing, Kayakiinfl, 
Trtple Jump,aowinB, High Jump, 
Javelin and Equeilr^sn Evonis 

• Oponing, Closing end AwBfds 
CeremonvWIIh Nalional Anifiems 

• Comooie AgainstThe Conipulor 
Of Your Friends 

• Individual and H&ad-To-Heai! 
Com petit ion 

• One 10 Eigh: Plirysrs 



$39.95 



JBT OOMIBAT 



• Features Realistic Flight and 
Combal Simulation 

• IncludesTake-Offs. Landings, and 
Aerial Dogtights 

■ Choose Between Practice ar 
Combat fi^odes 

• Select trom Four Levels of 
Ditticultv 

■ One Player; Joystick Optiofial 



$39.95 



Butterfield's 

Machine 

Language 



M^..,,-.. .: •.>, . J.l. 





The complete guide 

to the 1541 
operating system. 

$25.95 






Paperclip 

(the word processor) 




$79.95 



$39.95 



with SpellPack 
S99.95 



Ck)nsultant 

(the database) 




$124.95 




The ultimate 

progrann for 

learning cfiess 

$69.95 




Boss 
Joystick 



Kraft 
Joystick 



A must book if 
you own a VICI 

$14.95 







$23.95 



; 



$17.95 



COMPUTEIs 

First Book of 

Commodore 64 

Games 

Packed lull of games: 
'Snake Escape'. Oil 
Tycoon'. 'Laser Gunner , 
Zuider Zee', and many 
more Machine language 
as well as siraiegy 
games. Ideas and lech- 
niques lor wnimg games. 

$18.95 



CorwTKKtefe 



Grand 

Master 

Chess 



^? 



A User's Guide 

$14.95 




$24.95 



Menriorex 
Disks^ 




(Special) 

SSDD 
$19.90/10 



\zm^ 



DISKS 

SSDD 

$24.90 

in hard box 



Cassettes 



CIO Tapes 

$1.00 ea. 
C20 Tapes 
$1.25 ea. 
C^sette 
b>oxes .25 ea. 



Ribbons 



1525 

1526 

4023 

Spirit 80 

801 

802 

8023 

4022 

MX80 

RX80 



$12.95 
$14.95 
$14.95 
$14.95 
$12.95 
$14.95 
$14.95 
$12.95 
9.95 
9.95 



CABLES 

for disk drive 
or printer 



6ft. replacement 
cable $14.95 

6ft. extension 
cable $14,95 



Adventure 

Construction 

Set 




$69.95 



a^cnoriK^ sooi ltd. 



Name _ 
Address 



C Check or rt\oney order enclosed r J Visa Dk/lasterCharge □ American 

Express 

Accl.# Exp. Dale Signature 



a^CROHK^ 2001 LTD. 

5529 Yonge Street, Willowdale, Ontario M2N 5S3 

Tel: (416) 223-8400 

Note: All prices in Canadian Funds. Phone and mail orders welcome. 

Ontario residents add 7% sales tax. 

Add 5% (or shipping (minimum charge S2. 00) 



TFUS [TIsBasiia 



Publisher Louise Recfgers 
Editor: Nick Sullivan 
Assistant Editor Marya Miller 
Director oi Ad'/ertising Sales: Louise Redgers 
Production Assistant: Astrjd Kumas 
Aft Director: Teresa CovielSo 
Computer Jockey: Malcolm O'Brien 
Caver Photo: Roberto Portolese Studto 
Typesetting: Noests, Toronto, Ontario 
Printing: Delta Wsb Graphics, 
Scarborough, Ontario 

TPUG Magazine is pubitsfied tO times a year by 
Toronto Pet Users' Gfoup (TPUG) Inc. the world's 
largest Commodore users' group. TPUG is a non-pro'il 
corporation dedicated to the service and support ol 
owners and users of Commodore computers All rights 
to material published in TPUG Magazine are reserved 
by TPUG Inc., and no material may be reprinted without 
written permission except where specifically stated. 

Correspondence: Send change ol address and 
subscription enquiries to: TPUG Inc. Address 
Changes, 1912A Avenue Road, Suite 1, Toronto ON. 
Canada M5M 4A1 TPUG Magazine welcomes free- 
lance contributions on all aspects ot Commodore com- 
puting. Contributions should be sent on disk, -hough 
accompanying hardcopy is welcome. Be sure to 
nclude return postage if you wish materials returned. 
Please indicate on the disk label which Commodore 
disk format and word processing program you have 
used. Remuneration far articles published is 530.00 per 
magazine page if the author retains the copyright and 
S40.00 per magazine page if the copyright is assigned 
to TPUG Magazine. All contributions are subject to 
editing tor length and readability Address editorial 
contributions lo: The Editor, TPUG Magazine, 1912A 
Avenue Road. Suite 5. Toronto ON, Canada M5IW 4A1 . 
Letters to the editor may be sent to tfie same address. 
Like other rtraterial, letters may be edited lor length and 
readability. 

Qrculat\on: 

Subscription 16,000 Ne'/isstand 10,000 

ISBN #0825-0357 

TPUG Magazine is distributed by: Compulit Distributors, 
PO Box 352, Port Coquitlam BC. Canada V3C 4K6. 
(604)-464-1221 . and Micron Distributing, 409 Queen 
Street W.. Toronto ON, Canada WI5V 2A5, 
(416}-593-9862, Toil Free Order Desk 1-800-268-1238 

VIC 20, Commodore 64 and SuperPET are trademarks 
of Commodore Electronics Ltd- PET is a registered 
trademark ol Commodore Business Machines, Inc 
CBM is a registered trademark of Commodore 
Electronics ltd. 

Subscriptions to TPUG Magazine may be oblamed by 
joining the Toronto Pet Users' Group (TPUG), Inc. 
Another benefit of TPUG membership is the right to 
order inexpensive disks and tapes from the club's 
extensive software library. Yearly membership tees are: 

Regular member (attends meetings) 
Student (tull-time, attends meetings) 
Associate (Canada) 
Associate (US.) 



Associate (Overseas - 
Associate (Overseas - 



■ sea maill 

■ air mail) 



S35.0O Cdn 

S25 00Cdn. 

525,00 Cdn. 
S25.0D US, 

$30-00 Cdn- 
S35-00 US 
S45,00 US. 



For further membership iniormation please contact: 

TPUG Inc , Membership Inlormalton 
1912A Avenue Road 1552 Hertel Ave. 

Suite 1 Suite 144 

Toronto ON Buffalo. NY 

Canada M5M 4A1 USA 14216-2882 

TPUG Telephone Numbers 
Business Office {416)-782-890a (416)-782-9252 
Magazine Office <416)-782-1861 
Advertising (416)-782-i861 



DIRECTORY 



85 



TPUG Magazine 



JUN 



Feature: Adventure Gomes 

8 Do-lt-Yourself Adventures by Steven Damold 

13 Adventure' And Other Adventures by Jim Buitertield 

14 Adventure Games: A Personal Journey by Peter Archer 

15 Adventure Games: Text versus Grophics by Peter Archer 

Articles 

2 Changes, Changes, Changes by Michael Bonnycastie 

2 Message From The Publisher by Louise Redgers 

16 Inside Inner Space' by Jim Butterfield 

1 7 The Ultimate Shuffle by Gordon Campbell 

18 The C-128: A Programmer's Ployground by Nick Sullivan 

19 BASIC 7.0 Keywords by Chris Bennett 

22 The Creation of 'Sky Travel' by Franit Covitz 

26 A Beginner's DBS Guide: Part Three by ian A. Wright 
28 Not Just A Pretty Picture by Dave Neale 

Micro Processes 

30 Keyboard Out, Joystick In by Michael Quigley 

31 The Better Way by Chris Johnson 

32 Talking to Other VICs by Mark Hopkins 

Reviews 

36 Flexidrow 4.0 and Flexifont by Dave Neate 

36 Edumate Light Pen with 'Peripheral Vision' by Mike Martin 

37 Write Now! by Michael Quigley 

38 HomePak by John Easton 

39 Wiztype by Marya Miller 

39 Sky Travel by Nick Sullivan 

40 The COMAL Handbook by Donald Daiiey 

40 Traitex 64 by Gerry Gold 

41 Adventure Construction Set by Marya Miller 

41 Adventure Writer by Marya Miller 

42 Zork and Enchanter by Michael Bonnycastie 

Deportments 

4 Line Noise with Lana Coviello 

6 The Answer Desk with Malcolm O'Brien 

27 New DBS Possword 

32 C-16 and Plus/4 Library Announcement 

34 Additions to the TPUG Software Library 

34 Morketploce 

35 TPUG Software Order Form 

43 Products Received with Astrid Kumas 

44 TPUG Associate Clubs 

45 Classifieds 

46 TPUG Mogazine Distributors 
48 TPUG Contacts 

48 Index of Advertisers 



Changes, Changes, Changes 

Dear TPUG members: 

In this world of ours, nothing is static. Nothing remains the same for long enough to focus on it, let alone take the 
picture or get it developed. Especially in the world of microcomputers, where today's success is tomorrow's ho-hum. 
For those of you who enjoy the ever-changing scenery and look forward to tomorrow's sky-line, you're in the right 
business. As someone said about Toronto's weather — if you don't like it — just wait! 

And so it is with TPUG. The faces change as we try to keep on top of the ever-changing world. It is with great 
regret that we say farewell to Chris Bennett, who is a founding director and who managed the club through its meteoric 
growth to 15,000 members, and to Doris Bradley, who helped with this process and whom so many of you know on 
the other end of the telephone. Both have departed TPUG, and we wish them both well in their future ventures (Chris 
remains on the Board of Directors and is looking forward to the beginning of the PC 10 Interest Group in the fall). 

We, the directors of TPUG, owe a great deal of gratitude to both these people, who put so much into the club during 
its formative years. They were hectic times, and both Chris and Doris were instrumental in holding on as the scope 
of the club expanded to include TPUG Magaziyie as you know it, our library of over 5,000 programs, the many monthly 
meetings, and the conference. ■ • ■ 

Thank you, Chris. Thank you, Doris. . ' . 

\- • ' • " 




Michael Bonnycastle 

TPUG President 



Message From The Publisher 

Summer is here. I hope that yours is relaxing and lazy, and filled with all of the things that you like to do best. 
This year we will not be publishing separate July and August issues. The current issue is June/July; the next 
one will be August/September. This will allow our exhausted magazine staff to visit their families and also enjoy 
a bit of the summer. I wish to thank them and also our front office staff for their dedication and hard work 
over the last few months, as we have been making the changes that provide you with this new and improved 
magazine. We are still under construction, with more good things to come. 

We apologize for the very late May issue. From the start we were plagued by problems with that issue — 
Mui-phy's Law has never been more convincingly proved than by us during the month of April. We will endeavour 
to prevent this happening again. Thank you for your patience. 

This month's spectacular 'adventure' cover was painted by our art director, Teresa Coviello. We like it so 
much that we have had it printed up in full-size poster format as well, on good quality art paper. Watch for 
an announcement in the August/September issue on how you can order copies by mail. 

As usual, there wilt be no meetings during July and August, with the exception of the SuperPET chapter. 
SuperPET meetings will probably be held as usual, n\\ the third Wednesday of each month. Gall the TPUG meetings 
line for up-to-date information. 

Finally, TPUG would like to hear from those of you who have placed orders Avith B & R Enterprises of Pefferlaw, 
Ontario, and have not received satisfaction. Please write to mc at TPUG. If you were planning on placing an 
order, please hold off at this time. There have been several complaints and we are trying to find out why. We 
will keep you posted. 

Once again, enjoy your summer. We will see you in September with all the new machines (Commodore Canada 
promises two more after the C-128 and PC 10 before the end of the year), new groups and new interests. 

Louise Redgers 

Publisher 



2 TPUG Magazine 




You're invited to the 
biggest party at 
Valley Forge since 
George brouglit 
the boys! 

M.A.R.C.A. 

The biggest Commodore User Fair in the US. 

July 26, 27, 28 

Valley Forge Convention Center, Valley Forge PA 

• Speakers! • Seminars! • Hanging out! 

• Fun! • Vendors! • Great Buys! 

• Social Events! • Fun! 

Areas Tours available. 

Meet the names you've only read about. Jim Butterfield. 
Dick Immers. Len LIndsey. Many, many more! Ask the ques- 
tions you need answers to. Have 2V2 days of non-stop 
Commodore fun! Bring the whole family. Lots to do. See. 
And buy. Bargains galore! 

Pre-registration by July 1: 2V2 days $25 M.A.R.C.A. Mem- 
bers $15 Family Rates available. 

For pre-registration information: M.A.R.C.A., P.O. Box 
1902, Martlnsburg, West VA 25401. 

DON'T MISS THE PARTY! 







TPUG Magazine invites you to ex- 
press your views on Commodore 
computing by ivriiing to: 

Lbie Noise 

TPUG Magazine 

1912 A Avenue Road, Suite S 

To7'onio. Ontario M5M J^Al 

Canada 



Software Theft 

Really enjoyed Jim Butterfield's 'Soft- 
ware Theft' piece (November "84). Here 
is another situation that probably is more 
prevalent than most people realize. 

My son moved to California and became 
employed by a software marketing firm. 
I had written a program to handle my 
checkbook up to a limit of 99 asset, liabili- 
ty, income and expense accounts. It was 
simple, fairly fast, and it worked (usual- 
ly). He suggested that their company 
market this program. 

A royalty agreement was drawn up and 
signed whereby they did the marketing, 
using my name as author. I was to receive 
20 per cent of the gross sales of the 
package. There were numerous other p's 
and q's but basically, I wrote it and they 
sold it. 

The package moved fairly well, and I 
hinted that some money might be 
welcome. I did get one check for 
$2279.23, which bounced (three times). 
To date, this has been the extent of my 
payment by them. It is hard to determine 
how many of the packages were sold, but 
I do have a letter indicating they owed 
me $11,734.87. 

W.E. (Dinty) More 
Le Seur, Minnesota 

Butterfield Book A Gem 

As a somewhat isolated, relatively aged, 
neophyte to computers, my primary 
means of learning is through the printed 
word. I have, therefore, read many books 
and m agazines i n the year and a half since 
I contracted computermania. While I 
have obtained some proficiency in 
BASIC, machine language and hardware 
were areas of total illiteracy. I would not 
presume to write a review of a computer 
book. My knowledge is too limited. But 
Jim Butterfield's book on machine 



language is a gem. It is written clearly 
and concisely, with humour and under- 
standing of the likely pitfalls of the 
reader. It explains difficult concepts in 
plain English without use of jargon. 
Perhaps most important, it guides the 
beginner through simple short programs 
which, with the exercises, give the reader 
hands-on experience and confidence. His 
book is very well written — considerably 
less wordy than this letter. It is a pleasure 
to read and painless to learn from. 

While on the subject of books, I do ac- 
quire and read many on computers. You 
may recall receiving a letter from me con- 
cerning my experiences with dilithium 
Press. I have since received a hand- 
wTitten note to the effect that they are 
in bankruptcy proceedings. From my 
side, this seems to match my experience 
with them. 

Thank you, and keep up the good work. 

E.M. Hartston 
West Galilee, Israel 

BASIC Blitzled 

During further use of the Blitz! Com- 
piler, which I reviewed in the March 
issue, I found that it only compiles BASIC 
programs into the standard 38K BASIC 
area of the C-64, starting at decimal 2048. 
BASIC cannot be moved when using a 
Blitzled program, although the upper 
end of BASIC can be lowered in the nor- 
mal way to allow ML programs to be put 
just below the BASIC ROM. 

Nathan Okun 
Oxnard, California 

Evaluating Evaluation Kits 

Has anyone else out there tried submit- 
ting programs to Commodore for publica- 
tion? It seems that Commodore won't 
look at a piece of software until you do 
what is required of you from Com- 
modore's Software Evaluation Kit. This 
kit was new to me, so I sent it for a legal 
'check-up'. It failed. It had bugs that 
would lose me my program to Com- 
modore if I did what it asked, which is the 
following: 

• Read the kit, front to back. 

• Fill out the questionnaire. 

• Send a copy of the program to Com- 
modore on disk with literature, any 



copyrighted documents, and a money 
order for fifty dollars. 

• Allow thirty to ninety days for evalua- 
tion. After ninety days, Commodore 
notifies you as to whether or not they con- 
sider your product marketable. 

Now, I did not exactly cherish the 
thought of sending the fifty dollars and 
my program to Commodore. It just didn't 
seem right. 

My advice to all programmmers is to 
stay away from 'Evaluation Kits' from 
any company and agree to a 'hands-on' 
demonstration, at their convenience. 

Alex Howell 
Toronto, Ontario 

Commodore is apparently getting out of 
the software business altogether, so legal 
questions concerning their evaluation kit 
have become academic. However, pro- 
grammers should in general make sure 
that they have clear proof of authorship 
of any product they submit to software 
pxMishers. 

Fast Load Lament 

Tired of my slow 1541 drive, I bought the 
Epyx Fast Load cartridge. I use my C-64 
mainly for word processing, with 
PaperClip. With Fast Load, on 

numerous occasions, the drive or com- 
puter have locked up, resulting in lost 
files. On two occasions, I lost an entire 
disk when the directory was damaged. 
Usually, I can reset everything by turn- 
ing off the drive, but I have sometimes 
had to turn off the C-64 as well, losing 
the current file. Fast Load is virtually 
useless to me. Am I the only one with 
these problems? Has anyone contacted 
the manufacturer for 'fixes', or does 
anyone have suggestions for a 'do-it- 
yourself fix? 

Achim K. KruU 
Agincourt, Ontario 

The first release of Fast Load apparently 
did have bugs that can cause the probkyns 
you describe. I have heard that Epyx will 
replace the defective ones if you contact 
them. The new versvms of Fast Load that 
are on the market are said to work very 
well and should give you no trouble. 

Line Noise presented 

by Lana Coviello 



4 TPUG Magazine 



^ comnnodore ^ 
^ SFD— 1001 

ONE MEGABYTE DISK DRIVE 



*»^i 





(J 



■+±33 BLOCKS FREE 



J 



The SFD-1001 (Super Fast Drive) is now available. With double-sided double-density format, over 
ONE MEGABYTE can be stored on a single floppy disk. ONE HUNDRED 1S4T -formatted disks can be 
reduced to only SIXTEEN SFD-lOOI-formatted disks. By using the intelligent IEEE bus and a bus expansion 
IEEE interface, the SFD-1001 loads programs and data over TWICE as fast as the 1541 drive, and ALL THIS 
inside a case the size of the 1541's! 

FULLY COMPATIBLE with any Comnnodore computer that has an IEEE interface. FREE utility disks for both the 
CBM 8032 and the Commodore 64 are included! Transfer all your files and programs easily from any Commodore 
disk drive to your SFD-1001! 

EXPAND your system now with this fast, high-quality, large capacity Commodore disk drive. 

The SFD-1001 is available NOW from Progressive Peripherals & Software, Inc., your quality 

Connmodore software and hardware source. Suggested retail price is only $399". 

Dealer inquiries are invited. ..call for more information or for the name of the dealer nearest you. 

LOAD TIMB 

TKe 1541 loads 32K byies of data in approximately 1 minute, 20 seconds. 

The SFD-1001 loads 32K bytes of data in only about 35 seconds (bus expansion interface) or rfr'--"-. 

■^ .,,approj(ira!ateW1.mioute,4s« ,_ . ... :. ^^^^^i. :^^Sii^J 



. .S->^.- - i-i^gr-j'ty . 



k 'i i^£i.i.,l^>i .V^^it'i:' 



PROGRESSIVE PERIPHERALS & SOFTWARE 

■ 2186 South Holly Suite 200 -^ 
3 Denver, Colorado 80222 ^^^^-' 

(303) 759-5713 Telex:888837 TWX: 91 09971 31 4 

Commodore 64. 1541. B032. and SFD-1001 jre registered trademarks of Commodore Business Machines. Inc. 



The Answer Desk 



with Malcolm O'Brien 
Hard Disk Update 

Shortly after the last Answer Desk had 
begun its long journey to your hands, I 
discovered that no less than three com- 
panies are now offering hard disks for 
Commodore products. Strangely, only 
one — Computer Specialties, Inc. — has 
sent promotional material to the TPUG 
office complex, so I can only give you 
details of their product, the CSI STIOC. 

Available for all Commodore products 
except the VIC 20, the CSI STIOC 
features 10 megabytes with serial and 
IEEE interfaces, external reformat pro- 
tection switch, external device number 
select switch (8 or 9), unlimited directory 
space, and backup software. All of this 
can be yours (with a 90-day warranty) for 
$1595 (US). For more information 
contact: 

Computer Specialties, Inc. 
P.O. Box 1728 
Melbourne. FL 32902 
Telephone (305)-725-6574 

Another hard disk, also 10 megabytes, is 

available from: 

Fiscal Information, Inc. 

P.O. Box 10270 ■ ^ . . 

Daytona Beach, FL 32020 

Rounding out the list is the Genesis drive 
from: 

Micro Mind 

104 Hawthorne Ave. 

Pittsfield, MA 01201 

This one is a 25-megabyte, half-height 
Winchester drive, to retail for $1200 
(US). Micro Mind also has plans to pro- 
duce a hard drive to be installed in the 
small storage box in the SX-64. Watch for 
further details in upcoming issues of 
TPUG Magazine. 



How to use Fastbackup 

Instead of answering your letters, this 
month I'm going to answer your phone 
calls. Most days, TPUG receives 
telephone calls from C-64 users who 
either want to know how to use Fast- 
backup, or who simply state that it 
doesn't work. The fact is that it does 
work — and very well too! If you've been 



having trouble with the program, read on. 

First of all, disconnect your printer. 
Don't just turn it off — disconnect it. 
Evidently, Fastbackup must have the 
serial bus all to itself. Now bad Fast- 
backup from TPUG disk (C)TA, then 
take the disk out of the drive before run- 
ning it. Put the disk that you want to copy 
(called the 'source' disk) into the drive, 
and run Fastbackup. 

In the upper left corner of the screen 
you will see a quick countdown. When it 
finishes, the title screen will come up. On 
the last line of the display you will see the 
prompt Source disk, and you will hear a 
beeping sound (make sure the volume is 
turned up on your TV or monitor). Since 
your source disk is already in the drive, 
hit RETURN. Now the magic begins. The 
screen vanishes and the drive begins to 
behave in a very strange fashion — but 
normal for this program, and nothing to 
be concerned about. The error light will 
flash, but there is no error. Sometimes 
the drive keeps turning even after the 
light goes out. Ignore the drive's 
behaviour. 

In a few moments the screen will 
return, along with the beeping sound. The 
last screen line will show the message 
Destination disk. This is the disk that you 
are copying to. You may use an unformat- 
ted disk, if you want — fresh out of the 
box; Fastbackup formats the destination 
disk for you. If you use an old disk, of 
course, all the data will be overwritten. 

At this point — with Destination disk 
on the bottom line — carefully remove the 
source disk and insert the destination 
disk. Again, don't worry if the drive is 
still turning! "V^Tien the destination disk 
is in place, hit RETURN. The audio and 
video will again disappear. Follow the 
program instructions as above until the 
copy is complete (you should have to in- 
sert both disks a total of three times 
each). Now the bottom line on the screen 
will read Copy complete. You'll have to 
power down the computer to regain 
control. 

There are three common reasons why 
you would use Fastbackup to copy disks. 
The first is to make an archival backup 
of commercial software. This will work 
with Paperclip or The Consultant, for 



example, because these disks are not pro- 
tected. Instead, they rely on an external 
dongle or key for the program to operate. 
Most commercial programs do use disk 
protection, however. In these instances, 
'errors' on the disk will cause the copy to 
fail. The second reason for backing up is 
to have a spare copy of your data ~ 
Paperclip files, spreadsheets, mailing 
lists, accounting information and so on. 
The third reason is probably the most im- 
portant one for me, and will be of par- 
ticular interest to students and teachers. 

Many schools have PETs, SuperPETs, 
4032s and 8032s. Most of these are 
equipped with the CBM 4040 Dual Disk 
Drives. You should not use a 1541 to 
write to a disk formatted on one of these 
drives! The 1541 is read-compatible with 
them, but not write-compatible. If you do, 
your files will slowly disappear! If you 
have been working on a disk at school and 
intend to finish writing your program (or 
entering your data) at home on your 
1541, use Fastbackup to copy the 4040 
disk to 1541 format. When you've finish- 
ed updating your files, and take the disk 
back to school, copy the 1541 disk back 
onto the 4040 disk with the BASIC 4.0 
BACKUP command. 

Finally, I should remind you that 
Fastbackup was written by Thomas 
Tempelman as a commercial ventwe and 
TPUG is accepting contributions for use 
of the program on Mr. Tempelman's 
behalf. Over $1,000 has already been 
sent. Response has been encouraging, 
and Mr. Tempelman has kindly allowed 
TPUG to distribute his second version of 
Fastbackup. 

The new version is called fcopy v2.5.c 
and it's on TPUG disk (C)TG. This ver- 
sion is even faster (!), and includes a 
message from Mr. Tempelman along with 
his address in Germany, It is slightly dif- 
ferent in that the destination disk must 
be formatted beforehand. Also, the speed- 
up is due to the fact that only the used 
portion of the source disk is copied. You 
are even presented with a graphic display 
of the used portions of the disk. If you are 
using either of these programs, please 
send a contribution if you haven't 
already. It would be a terrible waste of 
a good programmer if his financial situa- 
tion forced him to take a job as a shoe 
salesman! O 



6 TPUG Magazine 




PET/CBM MULTI USER DISK SYSTEM 



• ALLOWS UP TO SIXTEEN USERS TO SHARE DISK DRIVES 
AND/OR PRINTERS 

• WORKS WITH ALL PET/CBM EQUIPMENT 

• lOO'.'j HARDWARE INTERFACED 

• NO ALTERATIONS TO SOFTWARE OR SPECIAL SOFTWARE RE- 
QUIRED 

■ SOFTWARE TRANSPARENT — WORKS WITH ALL PET/CBM 
SOFTWARE 

• LANGUAGE TRANSPARENT — WORKS IN ANY LANGUAGE 

• NO SPECIAL COMMANDS USED 

• PROTECTS AGAINST SYSTEM LOCKUP 



COMMODORE 64 MULT! USER DISK SYSTEM 

• ALLOWS UP TO EIGHT USERS TO SHARE DISK DRIVES 
AND/OR PRINTERS 

• WORKS WITH ALL 61/VIC EOUIPMENT 

• BUILT IN IEEE AND 64/VIC SERIAL PORTS 
(WORKS WITH ALL IEEE DEVICES) 

• 1O0'a HARDWARE INTERFACED 

• NO ALTERATIONS TO SOFTWARE OR SPECIAL 
SOFTWARE REQUIRED - SOFTWARE TRANSPARENT 

• NO SPECIAL COMMANDS USED 

• BUILT IN 16K PRINT BUFFER 

• DISK DRIVE PRIORITY 



GREATER PRODUCTIVITY & LOWER COST 
FOR BUSINESS AND EDUCATIONAL USE 



4032 



8032 





40 TO 80 COLUMN CONVERSION 

• EXTERNALLY SWITCHABLE FROM 40 TO 80 COLUMNS 

• EXTERNALLY SWITCHABLE FROM 80 TO 40 COLUMNS 

• CONVERSIONS FOR BOTH 4032s AND 8032s 

• lOO-c SOFTWARE COMPATIBILITY IN EITHER MODE 

• HARDWARE (NOT SOFTWAREl MODIFICATION 

• ALL KEYS FROM 8032 EMULATED ON 4032 
■ SPECIAL FUNCTION KEYS 




MICROSHARE 64K PRINT BUFFER 

• LOW COST 

• REDUCES LONG WAITS - SAVES TIME 

• ALLOWS YOU TO PRINT AND PROCESS SIMULTANEOUSLY 

• IEEE INPUT - IEEE OR CENTRONICS PARALLEL OUTPUT 

• WORKS WITH ALL PET/CBM SOFTWARE 

• NO INSTALLATION REQUIRED 

• ELIMINATES THE FRUSTRATION OF WATINQ FOR YOUR 
PRINTER 



COWM0DOHE64 PET AND CBM AHE ALL TRADEMARKS OF COMMODORE BUS^NESS MACHINES INC 



DEALER ENQUIRIES 
INVITED 



MANUFACTURED BY: 

COMSPEC COMMUNICATIONS INC. 

153 BRIDGELAND AVE., UNITS, 
TORONTO, ONTARIO M6A 2Y6 
(416)787-0617 



Do-It-Yourself Adventures 



by Steven Darnold 

Steven Dwt-nold has written a number of classic adventure games 
for the TPUG librai'y. Some of his games, i7ichiding African 
Adventure, Castlemaze and Tunnelmaze are now heiiig 
rereleased along with other adventures on TPUG disk (QGGfor 
Commodore 61,. Also included will be Darnold' s newest, largest 
and most complex work. Valleymaze. 

Once you have started playing adventure games, you'll probably 
get some ideas for an adventure of your own. Unlike arcade 
games, adventure games do not require machine language. If 
you have a good understanding of BASIC, you should be able 
to develop these ideas and turn them into an effective adven- 
ture program. This article will show you how. 

Draw a map 

The first step in designing an adventure is to draw a map of 

all the locations, and the connections between them. Number 
the locations, starting with 1, and think of a brief description 
for each. You \rill be able to amend this information later, so 
don't worry if you're not sure how the final map will look. Just 
make a start, and everything will eventually fall into place. 

Once your map is ready, you can enter it into the computer. 
It may seem a little strange, entering information before the 
adventure is completely designed, but I find it much simpler this 
way. Adventure programs tend to be very long, and it is easy 
to be daunted by the size of the task. If you do things step by 
step, the program will be nearly finished before you fully realize 
how big and complicated it really is. 

Data — the rooms 



3000 

9010 
3020 
3030 
9040 
9050 
9060 
9070 

9080 

9090 
9100 
9110 
91E0 



r9=6 

dim r$<r9) ,r%';r9,3) 

■for i = l to r'3 

read r*(i) 

•for .) =0 "to 3 

read r'/.>, i ri > 

r\ex± 

on -the y 1 11 age 



next; 

data 

£ 

data 

S 

data 

data 

data 

data 





in 

in 
in 
in 
in 



green ,3 ,Q ,4 , 

a one-roorri school, Q,©,!/ 

a rustic chur-ch,0,l,0/-0 
the banK,0,0,0,l 
the sa-fe ,4,0,0,0 

a dusty storeroom, ,0,£ , 



The first line specifies how many rooms (locations) there are. 
In this simple example, I have six. In your adventure, set R9 
to the total number of locations on your map. The descriptions 
begin at line 9070. Following each description are four numbers 
that show the connections between the rooms. The first number 
shows the connection north; the second, south; the third, east; 
and the last, west. For example, if you are in room 5 (the safe), 
the connection north goes to room 4. A zero indicates that there 
is no connection in that direction. Thus, the only exit from room 
6 is to the east (it goes to the school). 



Lines 9010-9060 set up two arrays: one for the room descrip- 
tions and one for the connections. You can use these lines ex- 
actly as they appear here. 

Some adventure routines permit more than four exits from 
a room by also recognizing 'up' and 'down', and sometimes even 
northeast, southeast, southwest and northwest. I find it simpler 
to limit the movement array to the four main directions. If re- 
quired, 'up' and 'down' can be added to the verb list and dealt 
with directly; or verbs like 'jump' and 'climb' can be used. 

Once your map is entered, feel free to add to it or alter it at 
any time. It is usually best to leave the order of rooms the same, 
but a connection between two rooms can normally be changed 
without too much difficulty: just alter the numbers for both 
rooms to reflect the change. 

Adding rooms is even easier. Increment the value of R9 in 
line 9000, and add the new room to the bottom of the list; then 
alter the data of any of the existing rooms you want connected 
to the new room. 

Now that you have tjfped in the details of the rooms, it's time 
to enter the objects you intend to use in the adventure. These 
include treasures, tools and assorted bits of scenerj'. Number 
the objects, starting with 1. 

Data — objects and scenery 



9500 
9510 
9520 
9530 
9540 
9550 
3560 
9570 
9580 
9590 
9G00 
9610 
9620 
9630 
9640 
9650 
3660 
9670 



n9 = 13 

dim o*<n3) 

-for i = l to 

read o*(i) 

next 

data 

data 

data 

data 

data 

data 

data 

data 

data 

data 

data 

data 

data 



pie 
hug 
s ig 

bra 
bag 
uioode 
an al 
a Ion 
a sho 
a box 
gold 
a 1 ar 
a big 
1 ,4,0,saf 



,lX(n9) ,a"';<n9) ,n*';n9) 
n9 
,1 Z-; i ) ,aX< i ) ,n*< i ) 

ce o-f chalK ,2,2 ,cha 
e oaK tree,i,0,tre 
n ,6,2,sig 
ss Key ,0,2, Key 

o-f CO ins ,5, 3, CO i 
n peus,3,l,peu 
tar ,3, 1 , alt 

g white cand 1 e ,3,2 ,can 
wel ,6,2 ,sho 

o-f matches ,0 ,2 ,mat 
nuggets ,0 ,3,gol 
'jc: yooden desK,£,l,des 

sa-fe in the south ual 



In the first line, set N9 to the total number of objects you wish 
to have. In my sample adventure, I use thirteen objects, but you 
will probably have around one hundred. Each object is followed 
by two numbers. The first number specifies in which room the 
object is located at the beginning of the adventure. A zero in- 
dicates that the object is not in any room. The gold nuggets, 
for example, need to be dug up before they appear. 

The second number following each object is an attribute value, 
used to distinguish between the different types of objects. 
Treasures have a 3; other movable objects have a 2; immovable 
objects have a 1; and scenery has a 0. The altar, for example, 
has a 1 to indicate it is an immovable object, while the safe is 
classed as scenery. 

The last item in each data line is a three-letter name for the 



8 TPUG Magazine 



object. This is used to identify it, so be careful to give each ob- 
ject a different name. Normally, you should use the first three 
letters of the main noun in the object's description. 

Don't worry about working out all your objects in advance. 
It's easy to add new objects as you go along. Simply increment 
N9 and add the details of the new object to the bottom of the 
data in this section. 

The next step in setting up the adventure is to list the verbs 
you are going to recognize. Number them, starting with 1, and 
set V9 equal to the total. 



Verbs 

9900 
9910 
9920 
9930 
9940 
9950 
9360 
9970 



u9=23 

dim vSi:v9) 
for i=l to 
read y$( i ) 



y9 '■ ' 

next 
data n ,nor ,£ rsou ,e ,ea£ ,u ,ue£ ' ■ 
data go , inv ,sco ,1 00 ,exa 
data taK ,get ,p ic ,dro ,pLit 
data rea ,ope ,d ig ,1 ig ,qu i 

As with the object names, each verb is referred to by its first 
three letters. In addition, the four directions also appear as single 
letters. Thus, in my sample adventure, verb number 7 is W and 
number 8 is WES. Both refer to west. 

It is important to have a lot of redundancy in your verb list. 
Extra verbs cost only a few bytes each, and they make your pro- 
gram seem much more intelligent. IWany players become 
frustrated trying to guess which words an adventure 
understands. Make it easy for them: include redundant verbs. 
(For example, in my sample I have included TAKE, GET and 
PICK UP. Each of these three verbs is dealt with in precisely 
the same way, but the redundancy means that players are more 
able to express themselves in their own way.) 

Completing the foundation 

Now that we have typed in the rooms, objects and verbs, we 
have nearly completed the foundation of the adventure. All that 
remains is a little housekeeping: - - 

9450 d im d*«:3) rf , 

9460 -for i=0 to 3;read dS(i);rjext ' 



9470 data north , south , east , west 

This array is simply a convenient way of printing out direc- 
tions. It will be used later in the main program loop. 

9990 r=l 

This sets the adventure to start in room 1 , Feel free to change 
it to any room you like. 

9939 return 

This marks the end of the foundation section and returns to 
the main flow of the program. 

100 go sub 9000 

The foundation section is entered by a GOSUB from the very 
first hne of the program. If you wish to display a title page or 
instructions, put them at lines 8000-8999 and change line 100 
to GOSUB 8000. 

Building on the foundation 

We are now ready to build the main program loop. It will run 
between lines 200 and 700, and will be followed by verb bran- 
ches, starting at line 1000. 

200 print chr*< 147) 

£10 i-f r=e and ca=0 then prinf'it's t 
00 darK to see anyth ing . " igoto 30 



££0 pr inf'you 're "r*(r)"." 
£30 pr int 
£40 v*="you see " 

£50 -for i = l to n9-. if iy.Ci)=r then 
print v*;o*(i )!y*="<8 spaces)" 
£60 next 

These lines are executed whenever the player enters a new 
room. Line 220 prints the description for room R from the R$ 
array. Line 250 checks the L% array for the location of each 
object; and, if it's in room R, prints its description from the 0$ 
array. Line 210 shows how to implement a dark room by skipp- 
ing over the descriptions for room 6 if the candle is not lit 










6U ©-^^ 



June 1985 9 



(CA = 0). You can use all of these lines without alteration in your 
own adventure, except line 210. 

300 pr in-t . - ■ l; ^ . . . . 

310 pri»Tt"you can go!<2 spaces >"; 

320 -for i=0 -to 3 

330 i-f rX<;r,i)>0 then print d$(i)" "; 

340 next :pr int 

These lines print the exits for room R. Line 330 simply checks 
the four directions for non-zero values. The D$ array is used 
to print north, south, east or west. 

Decoding player commands 

400 pr int :pr int "what noui"; 

4 10 input a*:pr int 

420 n $= " " : y *= " " : v =0 : n =0 : j =0 

430 l=len (aSJJ-for i = l to 1 

440 if mid*<a*,i,l) = " "then v*=le-ft*( 

a$ri-l)!j=i!i=l 
450 next: i-f j =0 then «j*=a$:3oto 550 
460 -for 1=1 to j step-1 
470 if mid*<a*.i,l)=" "then n*=mid$<a 

* , i -H ) : i =.j 
480 next 

These lines input a command from the user, and parse it. Line 

440 hunts for a space, starting from the front, and line 470 hunts 
for a space, starting from the hack. The first word becomes VS 
and the last word becomes A^^. Some adventure schemes use 
the second word for W, but I find the above method gives bet- 
ter results. For example, it understands PUT DOWN THE BAG 
OF COINS. 

500 t*=left$(n$,3) 

510 for i=l to nS ' • 

520 if t$=n*(i) then n=i:i=n3 • ' : 

530 next 

550 t*=left*(y*,3) 

560 for i = l to <j3 

570 if t*=y*<i) then v=i:i=v3 

580 next 

The first four lines reduce N$ to three letters, then look for 
a match in the A'^ array. This produces the number N. The last 
four lines do likewise with V$, coming up with the number V. 
If you are not happy with three-letter matching and want to 
evaluate more letters, feel free to change lines 500 and 550. 
You'll also have to alter your three-letter data, starting at lines 
9550 and 9940. 

Handling verbs 

600 if •J=B then print"! don't Know uih 

at "v*" means. "igoto 430 
810 if v<9 then 1£00 
620 on M-8 goto 1000,1400,1600,1800,1 

800 
630 on y-13 goto 2200,2200,2200,2400, 

2400 
640 on v-18 goto 2600,2800,3000,3200, 

3400 
The program now branches according to the verb number. If 
y equals zero, the verb is not recognized, and line 600 loops back 
for another input. If V is between 1 and 8, the verb is a direc- 
tion, and line 610 branches to the movement section. All other 
values of Fare given individual branches. Note in line 630 how 
TAK (V = 14), GET (V = 15), and PIC (V = 16) all branch to 2200; 



and how DRO (V= 17) and PUT (V= 18) all branch to 2400. 

The ON-GOTO structure handles the verb branches very 
quickly, so do not hesitate to add redundant verbs. Simply add 
the verb to the bottom of the list and put its branch address 
on the end of the last ON-GOTO, For example, in my simple 
adventure the verb OPE (V = 20) is used to open the safe. 
However, it's quite likely that some players will try to use the 
verb UNLOCK. Why frustrate them? Just add UNL to the end 
of line 9970, change V9 to 24 in line 9900, and add 2800 to the 
end of line 640. 

Verb branches begin at line 1000, with at least 200 line 
numbers allocated to each verb. Some verbs will require only 
a few lines; however, it's a good idea to leave room for unex- 
pected developments. 

1000 if n*="" then print "go uhere?": 

goto 400 
1010 if n=0 then y*=n$:n$= " " sgoto 550 
1020 print "use compass directions.": 

goto 400 

The GO section begins at line 1000, liN$ is recognized as a 
noun, line 1020 is executed. However, N$ usually holds a direc- 
tion (a verb!), and line 1010 transfers it to V,^, looping back for 
re-evaluation. In my sample adventure, I do not recognize any 
direct use of GO. However, if you wish to deal with commands 
like: GO STAIRS or GO DOOR, simply begin your routines at 
line 1020, 

1200 y = (v-l>/2:i=r%<:r ,u) 
1210 if i then r=i:goto 200 
1220 print"you can't go that way.": 
goto 400 

The movement section begins at line 1200. The verb numbers, 
which range from 1 to 8, are converted to the range to 3. Thus, 
N (V = l) and NOR (V = 2) both end up as 0. Then, the connec- 
tion array for room R is read to see if a room lies in that direc- 
tion. If so, line 1210 sets R to that room and loops back to display 
the details, 

1400 print "you are carrying: 
141Oz=0:for i=lton9 ■, 

1420 if l%(i)=-l then print" 
<2 £pacei.'>"o$Ci):z=z + l 

1430 next - 

1440 if z=0 then print"<2 spaces >noth 

ing 
1450 goto 400 

Line 1400 is the beginning of the INV section. Line 1420 ex- 
amines the L% array for objects with a location value of -1 {this 
means they're being carried). It then prints out their descrip- 
tions from the 0$ array. The variable Z is used here (and 
throughout the adventure) to keep track of the number of ob- 
jects being carried. 

1600 gosub 1810:goto 400 

1810 .j=0:for i = l to n9 

1620 if l%<i)=6 and a%(i)=3 then j =.j -h 

10 
1830 next 
1640 print "you have scored "j "po ints o 

ut of 20. " 
1650 if .j<20 then return 
1660 pr int :pr int "uel I done!":end 

The verb SCO branches to line 1600. It starts with a GOSUB 
because the subsequent lines are also used by the 'quit' routine. 
Line 1620 scans the L% and A% arrays for objects in room 6 



10 TPUG Magazine 




that are treasures (attribute 3). Every treasure is worth 10 
points. In your own adventure, replace the 6 with the number 
of the room you want the treasures left in. You can also change 
the 10 if you want a different treasure value. It is also possible 
to give different treasures different values by defining additional 
attribute numbers. For example, objects with an attribute of 
4 could be worth 20 points. 

Lines 1640 and 1650 refer to the maximum score attainable. 
Substitute your maximum for the 20. 

IS0B i-f ri=0 then 230 

1810 gosub 336: i-f nx then 400 

182D i-f n=G and 1X(4>=0 then lXC4)=r! 

print "you -find a Key."!9oto 400 
1830 i-f ri = lE and 1X(10)=0 then l'/.<iQ> 

=r ! p r i n t " s o me t h i n g ' s there. " : 

goto 400 
1840 i-f n=8 then print"it is "mid*("u 

nl it " ,ca*8-H ) " . "-.goto 400 
1850 i-f n=9 then print "it's rusty.": 

goto 400 
1995 prinf'it's .just "o$<n ) " . " : goto 4 

00 

Both EXA and LOO branch to this routine. If there is no 
recognized noun, hne 1800 loops back to display the details of 
the current room. If there is a noun, line 1810 checks to see that 
it is actually present in the room. This is WTitten as a subroutine 
because several other verbs will also need to check this. 

930 nx=0: i=l%<n) 



940 if 



950 



iOr 
n ' t see 
return 



and i< >-l 
it here." 



then 
nx = 1 



P r i n t " i do 



the candle is lit (CA = 1) or unlit (CA = 0), and lino \HM) says that 
the shovel is rusty. Any item not specifically deait with falls 
through to line 1995. 

I recommend you include details for most of your objects in 
this routine. Trivia! details are a good way of enriching an adven- 
ture, and they also make genuine hints less obvious. 

£200 i-f n=0 then 900 

2210 i-f l/'.<n) = -l then pr int "you ' ye al 

ready got it!":goto 400 
2220 gosub 830: if nx then 400 
£230 if a%<n)=0 then print "don't be s 

il ly . " igoto 406 
£240 if a%«:n) = l then print"it's too h 

eayy . " :goto 400 
££50 if z >3 then print "your hands are 

<s.pace >f ull . " sgoto 400 
£260 2=2-H:l>:>:n)=-l 
2270 pr int "oK":9oto 400 

Line 2200 is the beginning of the section that handles the verb 
GET (and the redundant verbs TAK and PIC). GET always re- 
quires a recognized noun, so this is checked at the start. Since 
several other verbs will also require this, the routine is written 
as a subroutine. 

900 if n*="" then print "you need to s 
ay what to "■j*".":goto 400 

810 print "i don't Knoui uihat a "n*" is 
. " :goto 400 

Line 2210 checks the location array to see if the specified ob- 
ject is already being carried; and line 2220 checks to see whether 
the object is actually present in the room. The ne.xt two lines 
check the object's attributes, rejecting it if it's scenery or im- 
movable. Line 2250 checks the variable Z, rejecting the com- 
mand if four objects are already being carried. Finally, at line 
2260, the object is picked up (by changing its location from R 
to -1). 

2400 if n=0 then 800 

2410 if iy.<n)>-l then print"you have 

<space>no "n$".":goto 400 
£420 l%<n)=r :z=z-l 
2430 if n=3 then ca=0 
2440 print "OK" :9oto 400 

This is the branch for the verbs DRO and PUT. First, line 2400 
checks that the noun is recognized. Line 2410 then checks the 
location array to see whether or not the object referred to is 
actually being carried. Line 2420 drops the object, by changing 
its location from -1 to R. Line 2430 is an example of an ex- 
traneous line inserted to achieve a special effect — it turns off 
the candle when it is dropped. 

£600 if n=0 then 900 
2610 gosub 930: if nx then 
£620 if n=3 then print"it 
<£pace >treasure here 



400 

says : 1 eaue 
, " :goto 400 



Line 1820 responds to an examination of the pews by reveal- 
ing the key (unless it's been previously revealed). Line 1830 does 
the same with the desk and the matches. Line 1840 says whether 



2700 print "there's no writing, "igoto 
<£pace >400 

Line 2600 is the beginning of the REA section. The verb re- 
quires a noun, and the object referred to must be present. These 
are checked in the first two lines. IVIost objects have no writing, 
and they fall through to line 2700. The sign, however, has 
writing, and it's dealt with in line 2620. 

£800 if n=0 then 800 

£310 gosub 930: if nx then 400 

£820 if n = 12 then prinf'try 'examine' 



June 1985 11 



"'.go-to 400 
2930 i-f n<>13 then £900 
2340 if rX<4,l)=5 -then prin-fit's air 

eady open.":go-to 400 
£850 ii 1XC4)>-1 -then prin-fyou don't 

<£pace>haye the Kej^.":goto 400 
28G0 pr int "ok " :ry.<4,l )=5:goto 400 
2900 print "that's not necessary.": 

goto 400 

The verb OPE branches to line 2800. Like several other verbs, 
it needs a noun, and the noun must refer to an object in the room. 
The first two lines check this. Most objects do not need to be 
opened, and they fall through to line 2900. The safe is handled 
by lines 2840-2860. Line 2840 checks to see whether the bank 
(room 4) already has a south connection. Line 2850 checks to 
see whether the player is carrying the key (object 4). Line 2860 
opens the safe by making the connection to room 5. 

Line 2820 responds to the command OPEN DESK. It is there 
simply to be helpful. I recommend that you put many such helpful 
responses in your adventure. They are just like redundant verbs: 
they make it easier for players to express themselves and 
thereby reduce frustration. Adventure designers should try to 
anticipate the commands players might give and channel them 
into understandable expressions. • . 

3000 i-f 1%^9)>-1 then prinfyou have 

<space>no shoyel . " igoto 400 
3010 if rOl then prinfyou can't dig 

<£pace>in£ide buildings, "igoto 4 

00 
3020 print"you find "; 
3030 if 1>:<11) then pr int "noth ing . " : 

goto 400 
3040 1"';<11 )=r :pr int "gold ] ":goto 400 

The DIG routine starts at line 3000. The first line checks for 
the shovel, while the second line checks that the player is on 
the village green. If the gold has already been found, line 3030 
is executed; otherwise, the gold is revealed. 

3200 if n=0 then 900 

3210 gosub 930: if nx then 400 

3220 if iy.(10)>-l then prinfyou have 

(space >no matches ." :goto 400 
3230 if n = 10 then print" it burns brie 

fly. " :goto 400 
3240 if n=8 then print "it burns brigh 

tly . ":ca = l :goto 400 
3300 print" it doesn't burn.":goto 400 

Line 3200 is the beginning of the LIG section. The first two 
lines check whether the noun is recognized and whether it is 
present in the room. Since matches are necessary for burning, 
line 3220 checks this. A match is lit on line 3230 and the candle 
is lit on line 3240; the rest of the objects fall through to line 3300. 
No special comment is made when someone lights an already 
lit candle, but this could easily be added by checking CA before 
executing line 3240, 

3400 gosub iei0:end 

The verb QUI branches to 3400. There it prints out the score 

and ends the program. 

My sample adventure is now complete. It's only 4K long and 
it's not very thrilling, as a game; however, it should provide you 
with a sound skeleton upon which to build your own adventure. 
Simply rip out the bits that do not apply to you, and fill in your 



own details. ' '*' ' 

Adding frills. . . 

In order to make things easy, I have left the frills out of my 
sample adventure. There are no instructions, no title page, no 
colours, no fancy screen layout, and no pictures. You will pro- 
bably want to put some of these things in your adventure, but 
you should be able to add them to my skeleton without too much 
trouble. 

A title page and instructions are a good idea. Not only do they 
set the stage for the adventure, but they also provide something 
to read while the arrays are being set up. Instructions are par- 
ticularly important for ine.xperienced adventurers, who may not 
be aware of words like INVENTORY. 

A good screen layout is also desirable. Each new room pro- 
vides several items of information, and it's helpful if this infor- 
mation is structured in some way. I like to use colours and 
i-everse field: for example, if colour control characters are in- 
serted at lines 220, 240 and 310, the room descriptions, objects 
and exits will be displayed in different colours. Similarly, the 
WHAT NOW? prompt can be put in a reverse-field box to set 
it off from the rest of the screen. 

As you develop your adventure, keep in mind that it's sup- 
posed to be entertaining. Fill the adventure with interesting 
places and interesting tasks. Put in some humour and some 
mystery. Add a touch of the bizarre. Certainly there should be 
puzzles in your adventure, but they should not be too difficult. 
The purpose of puzzles is to give piaj'ers the satisfaction of solv- 
ing them. 

Think of your adventure as a novel: you provide the setting, 
the plot and the supporting characters. The player takes the role 
of the main character. Since he doesn't know what's supposed 
to happen, it's up to you to channel his activities until he com- 
pletes the adventure. If the player gets stuck on one of your 
puzzles, you have failed. 

Testing your adventure 

When your adventure is complete, it is essential that you test 
it. This means getting people to play it, while you sit silently 
taking notes. Such testing is the only way to determine whether 
the adventure is playable or not. What's more, seeing how peo- 
ple react to the adventure will enable you to fine-tune it. 

At the lowest level, testing will uncover syntax errors and 
other minor bugs. No matter how many times you run through 
the program yourself, another person is bound to hit something 
you've missed. Moreover, sometimes your tester will input unex- 
pected verb-noun combinations and produce unforeseen results. 

A more important function of testing is to determine whether 
your tester moves smoothly through the adventure. If he has 
trouble tlnding words the program understands, make a note 
of the expressions he uses; and later try to incorporate them 
into your verb list. Similarly, if he gets stuck on one of the 
puzzles, think of a way to make it easier. It doesn't matter how 
absurdly simple the adventure seems to you; if your tester has 
problems, you must make changes. 

The most important function of testing is to give you new 
ideas. As you sit watching someone play your adventure, you'll 
see him attempting things you never thought of. Most of these 
are unimportant, but occasionally you'll see somethmg worth 
adding to the adventure. It may be just a sarcastic reply to a 
particular input, or it could be a major modification involving 
five new rooms and eight new objects, \\1iatever it is, take the 
opportunity to expand and enrich your adventure. Wlien your 
adventure has been tested and you have finished the resultant 
fine tuning, it will be ready for release. I hope you will put a 
copy in the TPUG library, so that we can all enjoy it. D 



12 TPUG Magazine 



Adventure And Other Adventures 



by Jim Butterfield 

Copyright © 19S5 Jim Butterfield. Per- 
mission to reprint is hereby granted, 
provided this nolice is included in the 
reprinted material. 

Adventures are good for you. They in- 
crease literacy and exercise your mind. 
They can be fun to create, and fun to 
solve. And (don't quote me on this) 
they're fun to cheat on, too — sneak- 
ing the answers out of the program 
when you can't figure out what to do 
next. 

It's worth making comments on the 
'sneaking' part. When I'm asked, 
"How do you get past the snake?" or 
some other question spawned from ut- 
ter frustration, I tend to have a stan- 
dard reply: "Ask me again, and I'll tell 
you the answer . . . but first, think and 
be sure you really want it". It's annoy- 
ing to be told sometliing that you would 
have thought of yourself. . . any mo- 
ment now. 

Similarly, in anticipation of clever 
adventurers listing the program and 
browsing through my files, I carefully 
encrypted the command list. This is 
particularly Machiavellian on my part, 
I think. An experienced programmer 
can find out what might happen, but 
still not how to make it happen. 

I'm talking, of course, about the 
original Adventure, which was written 
by Crowther and Woods. It grew — in 
an organic manner — at M.I.T., and 
quickly spread to all Digital Equipment 
Corporation (DEC) computer systems, 
worldwide. Many big computer users 
didn't even know they had it, but file 
advent was there, all right. It took up 
a huge amount of memory. The archi- 
tecture of large systems allowed such 
programs to be restricted to quiet 
times, so that the command HOURS 
would list — from the system log — the 
non-priority hour.s during which 
Adventure could be played. 

When micros started to gain atten- 
tion, Adventure became a common 
case in point for computer users. Many 
users said: "These small computers are 
all very well, but I can tell you one pro- 
gram that will never fit. . . " — mean- 
ing the original Adventure. And when 
8K machines expanded to 16K, and 
then 32K, I decided I needed to take 



a shot at it, I viewed the game as a 
'classic'; I didn't want to change it or 
put in my own cute things. For memory 
and run time considerations, I ab- 
breviated a few small parts of the 
game. 

Let me tell you a little about Adven- 
ture, if you've never been there. You , 




begin by finding yourself at the end of 
a road before a small brick building. 
A stream runs out of the building. 
From that point on, you're on your 
own — except for a rumour that 
somewhere nearby is supposed to be 
a Colossal Cave, filled with fabulous 
wealth. 

When you find the cave, you're con- 
fronted by dozens of events. The cave 
is populated by dwarves, a troll, a 
dragon, a giant clam, a tiny bird, a 
shadowy figure off in the distance, 
something that rustles as it follows 
you, a little plant that whispers 
'water', a fierce green snake, and a 
bear. Some of the treasures seem to 
have special pi'oblems: a delicate Ming 
vase can be picked up, but breaks 
when it's dropped; a gold nugget 
makes the exit stairway vanish if you 
pick it up; and a platinum pyramid is 
not only invisible in a dark room, but 
won't fit through the tiny exit hole. 



But — as is often said — there are no 
problems, there are only challenges. 
Even in the early days, Adventure 
inspired a host of emulators. TPUG 
President Michael Bonnycastle wrote 
Caves and Stygian Tombs, so as to 
devise an interesting adventure that 
would fit within 8K of memory. As a 
response, I wrote an 'airay' adventure 
called Explore to demonstrate how to 
fit the maximum number of rooms 
within limited memory. 

As systems gi-ew in memory size 
and general capabihty, even the classic 
Adventure was overtaken by suc- 
cessors. The Zork series allows much 
more flexible syntax: where Adven- 
ture permits only two words, a verb 
and a noun, Zork will deal with a 
sentence such as: "Put the cake on the 
table". 

A few words of caution: it's very 
easy to make adventure writing an ego 
trip: putting in clues that nobody will 
be able to solve if they aren't 'in'. 
Players tire very quickly of a game if 
they feel that it's not a challenge, just 
an exercise to show how clever the 
writer is. On the other hand, an adven- 
ture shouldn't be a dull recital. 
Nothing is more boring than pro- 
ceeding along and killing everything 
in sight. Maybe your strength will give 
out, or maybe you'll make it through, 
but there's little exercise for the mind, 
here. 

I recall having a discussion with an 
adventure-writer about non-violent 
adventures. The idea was that you 
couldn't get killed or hurt, and couldn't 
lose the game. The thought was laud- 
able, but the game was a little dull; if 
you knew you couldn't fail, you didn't 
have the same motivation. In contrast, 
a preschool game called Thirsty Nellan 
(on disk (C)T7) offers challenge and a 
good interest level. 

Educators have told me that adven- 
ture games make a major contribution 
to reading skills. Kids who are almost 
illiterate will learn to read belter in 
order to understand the adventure 
situations. . . and will learn to spell 
better. 

After all, if you want to take the 
necklace and tj-pe TAKE NECKLISS, 
the computer won't give you the 
booty. . . D 



June 1985 13 



Adventure Games: A Personal Journey 



by Peter Archer 

You're on an old path made by horses . . . You're in a dense dark 
forest To the south there seems to be light. . . 

So begins Castlemaze, the first in Steven Darnold's adven- 
ture game tiilogy. These words deserve to become just as famous 
as the opening quote from the original Adventure, written way 
back in the mid-seventies on a mainframe computer, and 
translated since then onto many microcomputers (including an 
excellent version for Commodore machines by Jim Butterfield, 
which will work on the C-64, all 32K PETs, and even the VIC-20 
with 24K expansion). 

Having played both Steven's series and the 'original', I can 
say that while I did enjoy Adventure very much, I liked 
Castlemaze and its successors, Tunnelmaze and Valleymaze, 
even better. 

Steven Darnold first encountered adventure games around 
1980, soon after he acquired his first computer, a 16K PET. This 
machine (when expanded to 32K) allowed him to become ac- 
quainted with Scott Adams' first two adventures (Adven- 
tureland and Pirate Adventure), plus (when he obtained a disk 
drive) Butterfield's version of Adventure. These ail had a 
definite influence on him, when he later started producing his 
own adventures. 

After joining TPUG, Steven naturally tried out all of the 
adventure games available from the TPUG library. He soon 
became acquainted with the efforts of Greg Hassett. Hassett 
had written several adventures for the TRS-80, and Commodore 
translations of some of these were available from the library. 
Among these were Trip to Atlantis and Sorcerer's Castle. 

Steven indulged in a "little bit of reworking" and turned Trip 
to Atlantis into his own Atlantis Adventure, and Sorcerer's 
Castle into Castlemaze. He also used Hassett's basic structure 
to produce a major work of his own — Tunnelmaze, a sequel 
to Castlemaze, and intended to be the second part of a trilogy. 

Atlantis Adventure 

My own first encounter with a proper adventure was with 
Steven's Atlantis Adventure. This was in mid-1982, in the pre- 
Commodore 64 days, when my computer was a VIC 20 with 16K 
expansion. Steven's computer was his trusty 32K PET. The only 
people who had played Steven's adventures at this time were 
his wife, a few local PET owners, and some high school students 
at the school where he taught part-time. 

Steven made a few changes to Atlantis Adventure to allow 
it to run on a VIC 20. About the only thing that needed to be 
altered was his input routine, which was machine specific. 
Changing a few pokes, however, was all that was required, to 
write a working "\^IC version. Of course, the screen looked pretty 
funny with the text (designed for the PET's 40-column screen) 
wrapping around the VIC's twenty-two columns. But after a 
while I hardly noticed this. 

And what did 1 think of Atlantis Adventure? Well, I was hook- 
ed! So were my wife and eldest son (then aged 11). What better 
way to spend a Saturday evening than gathered around the com- 
puter over a few beers, enjoying the challenge of trying to 
unravel the puzzles set for us by our friend Steven? 

Of course, when I first played Atlantis Adventure, I was a 
mere novice. But I found that there was just the right degree 



of difficulty — hard enough, without being too hard. As Steven 
says: "Any idiot can write an adventure that's so hard, no-one 
can solve it. . . The real challenge to the adventure writer is 
to make things just difficult enough without being unfair on the 
player." I found that Atlantis Adventure, as well as his other 
games, contained just that correct degree of difficulty — enough 
that the player has to really stretch his mind, but by no means 
unsolvable. 

Looking back on Atlantis Adventure, I now realize that there 
are some very nice original ideas. Things like the cannon and 
the jail stick in the mind, but also little things like the comb and 
the relationship between the train and the cliff show evidence 
of a very inventive mind. And I mustn't forget the good old 
discus . . . 

Castlemaze and Tunnelmaze 

Once we had finished Atlantis Adventure, we tried Castlemaze, 
and then Tunnelmaze. We found that they, too, contained just 
the correct degree of difficulty. 

I believe that the narrow crack and large painting will become 
a classic example of adventure programming. The vase, as well; 
and the. . . oops, I mustn't give the game away to those of you 
who have yet to experience the pleasure of Castlemaze for 
yourselves. Also, I will never forget the snake (or the turtle) 
in Tunnelmaze, 

Incidentally, a word of advice for all you would-be adventurers 
when you tackle any of Steven's masterpieces. Always examine 
everything, and note very carefully, and think hard about the 
implications of, even the slightest remark made about the natui-e 
or position of every object. On several occasions that I can recall, 
I have missed a vital but very subtle clue, and hence blundered 
around blindly for much longer than necessary. 

The C-64 Hits New Zealand 

Once the C-64 became available in New Zealand in early 1983, 
we abandoned the old VIC for adventuring and switched whole- 
heartedly to the C-64. Steven and I obtained two of the very 
first C-64s sold in New Zealand (both very low serial number 
models, from the West German Commodore factory, air- 
freighted direct to New Zealand from England before they were 
available from the normal channels via Australia). 

Steven set to work to produce very nice C-64 versions of 
Atlantis Adventure, Castlemaze and Tunnelmaze with very 
effective screen colours, and so on. The latest versions of these 
are compiled with the DTL compiler, and run very fast on the 
C-64. Copies are in the TPUG library (and in some U.S. groups' 
Ubraries). 

These adventures helped to fill two disks of public domain pro- 
grams that Steven put together for the C-64 in early 1983, when 
C-64 software was scarce. The programs have since become very 
well known here in New Zealand, and also in some parts of the 
USA. 

In The Public Domain. . . 

At this point I feel that a word (or three) about the subject of 
public domain adventure game quality would be in order. 
I have seen many so-called adventures being sold commercially 



14 TPUG Magazine 



that are vastly inferior to the public domain ones I have been 
speaking about so enthusiastically. 

One of the reasons Steven decided not to sell Tunnelmaze 
commercially was because the leading publisher of software for 
hobby computers in New Zealand was only interested in adven- 
tures if they 'contained graphics'. Text-only adventures were 
not wanted, no matter how superior the quality. A very short- 
sighted policy indeed, considering that the two so-called 
'graphics adventures' that were subsequently released onto the 
New Zealand market by that same firm were pure garbage! 

The other reason that Tunnelmaze never appeared as a com- 
mercial product was that Steven had sent an early (PET) copy 
to an Englishman, with whom he used to correspond. Some con- 
siderable time later, this person published a book about adven- 
ture games for the C-64 that included a full printed listing of 
Tunnelmaze. Steven was not very pleased (to say the least) 
about this, and decided forthwith to place Tunnelmaze in the 
public domain. 

Valley maze 

Steven had intended from the first that Castlemaze and Tun- 
nelmaze would be the lead-up to his real masterpiece, which he 
had named Vallejonaze. But the sheer size of the project had 
caused him to defer starting work on it. 

After thinking about it for a long time, however, and after 
much urging, he finally made a serious start on it in the 
(southern) summer of 1983-84. (Steven's job as a part-time high- 
school teacher gives him a long summer vacation, from mid- 
December until the beginning of February). 

To start with, he used his trusty old PET, with its well-used 
package of toolkit utilities, and so on. But Valleymaze was in- 
tended to be as big as the C-64's memory would allow. Even- 
tually he ran out of room in 'Old Faithful', and had to proceed 
with actually writing it on the C-64. 

He soon found that the sheer size of Valleymaze was a pro- 
blem. To give himself as much room as possible, he rewrote his 
parsing routine in machine language and placed it in the C-64's 
'C block'. This also greatly increased the speed and eliminated 
the 'garbage collection' problem. He also rewrote his input 



routine in machine language and put it into the cassette buffer. 
When the finished program was compiled with the DTL com- 
piler, this also helped the run speed. 

Talking of size, Valleymaze is actually bigger than Adven- 
ture. It has more locations (or rooms), but by keeping the text 
much less wordy, Steven has still (just!) managed to cram the 
entire program into the 38-odd K of the C-64's BASIC memory 
with no need to resort to disk files. Hence Valleymaze is 
available on tape, as well as on disk (it must surely be just about 
the largest adventure available for any computer on tape). 

But what is it like? Well, I had to wait some time to find out. 
After his unfortunate experience with the Tunnelmaze 'piracy', 
Steven was understandably reluctant to trust anyone (even me!) 
with a copy of Valleymaze. So, as we then lived over four hun- 
dred miles apart, I had to wait until we could get together to 
actually try it out. Steven likes to have someone test-play his 
new adventures while he watches them, noting any possible dif- 
ficulties for later correction in the final version. In this way, 
he can accurately gauge the degree of difficulty of the various 
problems that the player has to solve. 

Steven kept Valleymaze under wraps for almost a year before 
eventually deciding to place it in the public domain too. By the 
time you see this issue, Valleymaze will be officially in the public 
domain (for the Commodore-64 only, at this stage, because of 
memory limitations) (see 'Library Additions'). 

Steven's long-suffering wife, Helen, had been (as usual) his 
first 'guinea-pig', and he had already polished up Valleymaze 
to a very high standard before my son Jonathan and I finally 
had a chance to play it in Steven's motel, in Christchurch, August 
1984. 

Well, what can I say? Many adjectives come to mind. Large. 
In fact, huge! It certainly merits the inclusion of the 'save game' 
option that he had thought unwarranted in his earlier efforts. 
Another adjective — brilliant! There are many nice touches com- 
pletely original to him. Like the shop. And the way the train 
fits in. And the oven. . . 

But don't take my word for it! Try it for yourself. I would ad- 
vise that you play Castlemaze first. Then tackle Tunnelmaze. 
And finally take on Valleymaze. You will have countless hours 
of enjoyment (and frustration!) ahead of you. D 



Adventure Games: Text versus Graphics 



by Peter Archer 



There are basically two types of computer adventure games: the straight 'text only' adventures, and the ones with graphics. 
The 'text only' adventures are (in my opinion) the true classic computer adventures. Playing a top-class text adventure is 
very similar to reading a quality work of literature: your mind is free to construct your own pictures of the scenes described, 
whereas in a graphics-type adventure, what you see is what you see. 

One problem nowadays with graphics adventures is that high-quality graphics consume large amounts of memory. This 
position will eventually change. The next generation of home computers will have much more memory than today's machines, 
based as they are on 8-bit processors, with their somewhat limited memory addressing capacity. Also in the not too distant 
future, the combination of the video-disk and the home computer will allow the use of genuine hi-res 'real live scenes' in 
computer games — as is already done on the more advanced coin-operated arcade machines. 

At present, however, there is no comparison between the two types of adventure games. As long as the player is endowed 
with a good imagination, a well-written text adventure wins hands down every time over all but the very best graphics 
adventures. ^ 



June 1985 15 



Inside Inner Space 



by Jim Butterfield 

Copyright ® 198S Jim Butterfield. Permis- 
sion to reprint this material is hereby 
granted, provided this notice is included 
in the reprinted material. 

It was December 31, 1979. A day like any 
other day . , . except for the arrival of The 
Transactor, Volume 2, Number 7. The 
front page announced: "This month's 
Transactor is a collection of . . . charts 
and tables concerning PET. . ." 

There were 21 pages of memory maps, 
edge connector tables, hexadecimal con- 
version charts and other useful stuff. Just 
about half of it was my stuff (much of it 
reprinted from previous issues). It was 
useful to have everything in one place. I 
carried around my copy for a couple of 
years, until. . . 

Volume 4, Issue 5, appeared around 
October 1983, although the issue carries 
no date. The reference section now 
covered 54 pages, and the type was 
smaller so that more information could be 
jammed in. There was more professional 
typesetting and numerous diagrams: for 
example, there were pictures of the edge 
connectors. By this time, the VIC 20 and 
Commodore 64 were popular, and there 
were many special charts covering sound, 
gi-aphics and sprites. The original 'Super- 
chart', showing character representa- 
tions of various styles of memory (screen, 
ASCII, etc.), was now split into two 
charts: one for PET/CBM, and one for 
VIC/C-64. The B series wasn't yet avail- 
able, but maps, command summaries and 
error lists were provided for this range 
of machines. New tables such as a side- 
by-side comparison of disk drives (still 
valid) were included, as well as, surpris- 
ingly, a book list and a glossary. 

This Special Reference Issue became a 
hot item, and quickly sold out. It could 
have been (should have been) reprinted, 
but the editor, Karl Hildon, was busy 
gathering new material for his next 
magnum opus . . . 

The Complete Commodore Inner Space 
Anthology is now available for $14.95 
from The Transactor, 500 Steeles 
Avenue, Milton, Ontario, Canada L9T 
9Z9. The price, by the way, is an introduc- 
tory special: newsstand and bookstore 
price will be somewhat higher. 

If you have any technical interests at 
Eill — and maybe even if you don't — you 



need this one. There will certainly be 
something you'll need to look up. . . and 
almost anything you can think of is in the 
CCISA. If you're not a techie, you can still 
find a comprehensive set of BASIC com- 
mands. If you're beyond BASIC, you'll 
find extensive material on COMAL and 
Machine Language. If you don't program 
at all, you'll be able to use the Word- 
processing Reference Guide, which has a 
side-by -side comparison of the commands 
of Superscript, EasyScript, Paperclip, 
Speedscript, WordPro and the new 
WordPro 64. If you'd rather work with 
spread sheet programs, a briefer section 
gives a summary of the Gale Result 
commands. 

There's even more in terms of general 
information. Bulletin board numbers and 
network numbers (for Datapac, Compu- 
Serve, Tymnet and GTE) are given for the 
communications enthusiast. And for 
everyone — including the traveller — 
there's a list of computer clubs. 

This is a book without text. It's all 
reference tables. Because of this, it's less 
a book for learning and more for check- 
ing up on the details of .something that 
you know, but can't remember. But even 
if you can't understand some of the 
tables, they're interesting to look at and 
may draw your attention to new areas of 
computer utilization, and new ideas. 

There are 122 pages of information in 
The Cojuplete Commodore Inner Space 
Anthology, and on some pages the print 
is fairly small. One of the objectives is to 
allow you to see a complete section of in- 
formation laid out in two adjacent pages. 
It's spiral-bound, by the way, to allow it 
to lie flat for this type of use. Complete 
memory maps — RAM and ROM — are 
available on such double pages, and other 
sections show careful planning to give the 
same useful effect. 

It's difficult to summarize the contents 
of this volume. There are extensive charts 
to assist and give inner details on BASIC, 
COMAL and Machine Language. The 
Supercharts give character sets; the 
hardware section gives everything from 
board layouts to chip specifications. The 
printer section gives details on many 
printers; the disk drives section supplies 
both technical and general information on 
Commodore disks. This includes detailed 
memory maps for the 4040, 8050 and 
1541 units. 



The video section gives detail on video 
for all current machines including the B 
series. Oddly. Greek alphabet character 
matrix codes are given for printers, but 
not for screen characters. . . it's surpris- 
ing to see them at all, but that's one of 
many little surprises in the book. 

Karl seems to have gotten enthusiastic 
over sound generation. Not only does the 
book contain details on note generation 
and sound chip registers — as usual, for 
ail computers — but it also contains a 
glossary of music notation symbols and 
chord composition. I'd half e.xpected to 
see a catalogue of favourite weapon 
sounds — laser blaster, phasers, gun- 
shots, explosions, sirens, and so on ~ plus 
an ADSR list for common instruments 
such as piano, flute and oboe. . . but these 
are absent. 

There are many unexpected items. 
'Checking Semiconductors with an Ohm- 
meter' is a surprise, although it's in- 
teresting to see the wide range of 
technologies listed. Metric units are 
there. I wish it would tell me, though, 
how to pronounce the 'g' in 'gigahertz': 
hard as in 'gift', or soft as in 'gin'. The 
table of propeller thrust for a power boat 
makes me suspect that Karl has nautical 
leanings; and you may find it useful to 
know that the US septendecillion is the 
same as the British nonillion . . . either 
way, it's a big number. 

The unit conversion table is lengthy. If 
you want to change firkins to liters, or 
roods to hectares, you'll find it all there. 
I had some trouble reading (twice) that 
1 cubic foot per minute equals .0011 
quarts (liquid), but maybe that somehow 
reflects the editor's drinking capacity. 
And I was frustrated in trying to convert 
Atmospheres to Pascals; although they 
are both units of pressure, the conversion 
isn't readily supplied. 

The Complete Commodore Inner Space 
Anthology ends with a couple of lavish 
tables that don't seem to have much to 
do with day-to-day computing: Geometric 
Areas and Volumes, and an ornate 
Periodic Table of the Elements. I asked 
the editor about this and, as I understand 
it, they were just too pretty to be left out. 
In any case, you never know when you 
might need one. 

It's a rich and useful collection of infor- 
mation. You'll just have to have one for 
your bookshelf. D 



t6 TPUG Magazine 



The Ultimate Shuffle 



by Gordon Campbell 

Shuffling a deck of cards should be a fast, simple process for a com- 
puter. But many progi'ams spend excessive time doing it. 

The best algorithm is fairly simple, although the mathematical proof 
that it generates a well-shuffled deck is not obvious. The following 
steps are required: 

• Consider a deck of 52 cards, 

• Select a card at random, and switch it with the top card. (If the top 
card was selected, leave it alone.) 

• Reduce by one the number of cards being considered. 

• Repeat steps two and three until only one card is left. 

Simple enough so far, and this algorithm can be coded in one line 
of BASIC. The tough part is making it run quickly. The demonstra- 
tion program below will run on all Commodore computers. 

The 'tricks' used to speed things up are: 

• Move numbers, not strings. (The numbers don't really move in 
memory, but the strings do.) 

• Use as few lines as possible. 

• Include no spaces in the code. 

• Use variables, not literals. 

• Shorten zero to period. (The BASIC interpreter sees it as 0.0, and 
does it quickly.) 

• Place the subroutine as close to the front of the program as possible. 

• Predefine the variables, with the first one mentioned first, etc. 

• Make best use of single-digit line numbers. 

As is obvious from the demonstration program, 1 do not advocate 
these measures for all of a program, just the parts where speed is 
important. 

Demonstration Program 

In the demonstration program, line 6 is the routine that does the 
shuffling. Everything else is either initialization — up to printing the 
'menu' of options — or window dressing to check the shuffle 
subroutine. 

One of the menu options is to shuffle a deck twenty times and report 
how long it took, while the other displays the shuffled deck as seven 
hands of seven cards each. This is just to prove that typical hands are 
being produced. 

Notice that the array D$ contains the visual representation of the 
cards, but is untouched by the shuffle subroutine. The numeric array 
D contains pointers into the D$ array. 

Application 

Several years ago, one of the players in my poker circle introduced 
a new vai'iation of the game. The variation lent itself extremely well 
to computerizied analysis, so I wrote a program to do just this, 
accumulating statistics on winning and second-best hands. (As every 
poker player knows, the only really expensive hands are the ones that 
wind up second best.) 

Within a week, I had accumulated statistics oti twenty thousand 
deals. Ethics decreed that I show the statistics to the other players, 
but the game still proved profitable. 

The Bottom Line 

The demonstration program shuffles a deck of cards in well under one 
second. This isn't quite instantaneous, but it certainly shows that there 
is no need for programs to print the message. Please wait •— shuffling. 



I gotoie 

6 -fora^ctodstepe :b=rnd C. )*a:-f 
=d(a) :d<a)=d<b>:d<b)=f snext 
ireturn 

II rem in it iai izai ion 

16 print "ultimate shuf-fle? 

EI prinf'by gord campbell 

26 print 

31 a = . ! b = . : f = . 

36 e=-l: c=51 : d=l 

41 dim dC51), d*(51) 

46 -for 4 = 1 to 51 : d(.j )=.J : 

next 
51 -for .j=0 to 51: read d*<.j ) : 

<£pace >next 
56 print "press 't ' -for t imin 

3 test 
61 print "<6 £pace£>'d' for d 

isplay 
6S print "<e spaces>'q' to qu 

it 
SB geta$: ifa*="t" goto 81 
71 i-F a*="d" goto 161 
73 i-f a$="q" then end 
76 goto 66 
81 n=Heii t=ti 
86 t=t i :f or j = lton sgos-ube Jnext 

!x=t i 
91 print "took"; (x-t )./(n*60) 

; "s-econds- per deal " 
96 goto 56 
101 gosub 6: -for j=0 to 6: 

-for K=0 to 6 
106 print d$ <d <,j*7+K)>; " " 
; ; next 

III print: print: next: goto 
<space >56 

US data "aX", "EX", "3X", "4 

X." r "5X", "6H", "7X'' 
121 data "6H", "gX", "leM", " 

.jX", "qH% "KX" 
1S6 data "aZ", "£Z V "32", "4 

2'\ "SZ", "6Z", "7Z" 
131 data "8Z", "9Z", MSZ", " 

,jZ". "qZ", "KZ" 
136 data "aS", "ES", "3S", "4 

S", "53", "63", "73" 
141 data "83" 

.jS", "qS 

146 data "aA". "Eft", "3ft", "4 
ft", "5ft", "Bft" r "7ft" 

151 data "8A", "9ft", "10ft", " 
jA", "qA", "KA" 



June 1985 17 



The C-128: A Programmer's Playground 



by Nick Sullivan 

The sleek new Commodore 128 PC, with 
its Concorde profile and rococo architec- 
ture, is one of five new computers, that 
Commodore is planning to introduce this 
year (the others: the IBM clone PC 10, 
a Unix micro, the LCD lap computer, and 
the Amiga). With the possible exception 
of the Amiga (still, apparently, at least 
six months from release), it is also the one 
that has generated the most excitement 
in the Commodore computing 
community. 

The hallmarks of the 128 are versatil- 
ity and compatibility. In one mode, it is 
a Commodore 64, ostensibly 100 per cent 
compatible (though one well-known user 
has reportedly found a commercial C-64 
program that won 't run on his prototype 
machine). In another mode, it is a CP/M 
computer, with very fast disk access, and 
a mountain of popular software readily 
available. Documentation for this mode 
is not yet included in preliminary versions 
of the C-128 manual. Both C-64 and CP/M 
mode will likely appeal to users, rather 
than programmers. 

Then there is the 'native' or 'C-128' 
mode, with 128K of built-in bank- 
switched RAM and 44K of ROM, a 
sophisticated new BASIC (numbered 7.0), 
40 and 80 column video output, all the 
C-64's graphics and sound capabilities, a 
lot of new keys, and the ability to com- 
municate with the fast new Commodore 
disk drive, the 1571. C-128 mode is not 
100 per cent compatible with any other 
computer, but the BASIC 7.0 owes a lot 
to the BASIC 3.5 dialect in the Plus/4 and 
C-16. No doubt there will be lots of great 
software written for this mode, too, in the 
months and years to come. Yet it is also 
ideal for those who like to do their own 
programming. 

The overlooked \drtue of the Plus/4 and 
C-16, as Jim Butterfield likes to point out, 
is that they are friendly to programmers. 
First there's the big vocabulary of BASIC 
commands, which makes most pokes ob- 
solete. Next is the addition of three com- 
mands - RENUMBER, DELETE and 
AUTO — specifically for making program 
development more convenient. Lastly 
come the improvements to the already ex- 
cellent Commodore screen editor, which 
now features a variety of useful two- 
stroke commands (the ESC key followed 



by a character) to perform such functions 
as inserting and deleting screen lines, 
erasing lines to and from the cursor, 
defining screen windows, and blanking 
the screen from the cursor to the bottom. 
You can even get an insert mode, such 
as one finds on word processors, for typ- 
ing without overstriking. 

The friendliness of the Plus/4 and C-16 
carries over to the Commodore 128, and 
is enhanced with such items as a numeric 
keypad, a CAPS LOCK key and a TAB 
key. But this machine boasts other 
features that programmers will also 
cherish. 

The Monitor 

Like many earlier Commodore computers 
(all except the C-64 and VIC 20), the 
C-128 has a built-in machine language 
monitor. This monitor works with 
5-character hexadecimal addresses, not 



routines in pages 2 and 3 of memory for 
getting around between banks. 

The monitor itself features a simple 
assembler and disassembler, memory 
display, hunt, transfer and compare func- 
tions, load and save, and so on. It is bil- 
ingual in hex and decimal. Since the 
monitor's command checking routine 
jumps through a RAM vector ($032E in 
our preproduction machine), it should be 
possible to add new monitor commands 
if required. By the way, other new vec- 
tors in RAM have also been provided, 
allowing for various other extensions to 
the operating system, particularly in the 
area of editing functions (the escape and 
control sequences, for example). 

High Resolution Graphics 

The Commodore 64 has excellent hi-res 
and medium-res graphics capability — in 
hardware. Unfortunately, it is a program- 




the 4-character addresses most of us are 
used to. The first character is the bank 
number (0 through F). BASIC programs 
and graphics data are stored in Bank 0; 
variables and strings are stored in Bank 
1 . The segregation of program from data 
gives plenty of room for code and for big 
arrays, and also simplifies program chain- 
ing. Banks 2 through E are available for 
memory expansion (which will be avail- 
able later this year) up to 512K. Bank F 
holds the ROMs. The lowest 16K of mem- 
ory seems to be common to Bank and 
Bank F; Bank 1 shares only the lowest 
IK with the others. Bank switching is 
controlled at memory location $FFOO in 
each bank, and there are lots of little 



ming challenge to draw so much as a sim- 
ple straight line on the hi-res screen, let 
alone anything more complex. Moreover, 
to accomplish hi-res tasks at reasonable 
speed normally requires either machine 
language, or a non-resident language 
such as Logo or COMAL. 

This is not true of the C-128, which pro- 
vides a battery of commands to simplify 
hi-res work. Now we have the DRAW 
command to generate points, lines or 
polygons, and the BOX and CIRCLE com- 
mands for more specialized tasks (though 
both of these are more general than their 
names suggest). In addition, you can now 
get a split text/graphics screen, with the 
graphics part either multicolour or hi-res, 



18 TPUG Magazine 





BASIC 7.0 Key 

Compiled by Chris Bennett 


words 


The BASIC 7.0 language on the new C-128 computer (in C-128 mode) is the richest BASIC dialect yet offered on a 


Commodore machine. On this page. Chris Bennett has compiled a list of BASIC 7.0 commands in three sections. The 


first section contains those BASIC 4.0 commands that were 


present on the PET/CBM series, but dropped for the VIC 


20 and Commodore 64. In the second section are the commands that were new 


with BASIC 3.5 {on the Plus/4 and C-16); 


these commands have been retained in BASIC 7.0. The third section gives the commands that are new with BASIC 7.0. j 


Commands that ai-e found in all Commodore BASIC dialects (PRJNT, POKE, 


and so on) are not included in this list. 


BASIC 4.0 Commands 


ROOT 


Return the position of the pixel cureor 


APPEND 


Add new data to an existing file. 


RENUMBER 


Renumber the lines of a BASIC program. 


BACKUP 


Duplicate an entire disk tn a dual drive. 


RESUME 


Return to execution after TRAPping an error. 


CATALOG 


Display the disk directory on the screen. 


RGR 


Return current graphic mode value. 


COLLECT 


Validate a disk. 


SCNCLR 


Clear the current screen in all modes. 


CONCAT 


Add one file to the end of another. 


SOUND 


Produce a sound using one of three voices. 


COPY 


Copy files on disk. 


SSHAPE 


Save a screen shape. 


DCLOSE 


Close disk files. 


TRAP 


intercept BASIC errors. 


DIRECTORY 


Display the disk directory on the screen. 


TROFF 


Turn trace function off. 


DLOAD 


Load a program from disk. 


TRON 


Begin trace, displaying line numbers executed 


DOPEN 


Open a disk file. 


UNTIL 


Part of DO-LOOP condition clause. 


DSAVE 


Save a program onto disk. 


USING 


Define format lor PRINT statement. 


HEADER 


Format (or 'new'} a disk. 


VOL 


Set the volume level lor the sound command. 


RECORD 


Position to any record in a relative file. 


WHILE 


Part of DO-LOOP condition clause. 


RENAME 
SCRATCH 


Change the name of a disk file. 
Delete a file from the disk. 


C-128 New Commands 


BASIC 3.5 Common Commands 


BANK 
BEGIN 


Set bank number for PEEK, POKE, etc. 
Used in multi-line IF statement. 


AUTO 


Generate line numbers automatically. 


BEND 


Part of the BEGIN-BEND construction. 


BOX 


Draw a rectangle of any size. 


BLOAD 


Load file into a specific bank iocation. 


CHAR 


Display text at a given screen location. 


BOOT 


Load and run the program named. 


CIRCLE 


Draw circle, ellipse, arc, triangle or octagon. 


BSAVE 


Save memory from a specific bank location. 


COLOR 


Set background, foregfound, border colours. 


COLLISION 


Used in sprite collision detection. 


DEC 


Return decimal value of a hexadecimal string. 


DCLEAR 


Initialize disk drive. 


DELETE 


Delete a range of lines. 


DVERIFY 


Verily file on disk with program in memory. 


DO 


Start of a DO-LOOP command. 


ENVELOPE 


Set sound envelope (ADSR on SID chip). 


DRAW 


Draw individual dots, lines and shapes. 


FILTER 


Set the sound filter (SID chip), 


ELSE 


Part of IF-THEN-ELSE statement. 


MOVESHAPE 


fvlove a defined shape around the screen. 


ERRS 


Return the error description string after a TRAP 


MOVSPfl 


Move one of the sprites around the screen. 


EXIT 


Cause termination of a DO-LOOP command. 


PEN 


Read the light pen port. 


GRAPHIC 


Set graphics mode: hi-res, split screen, etc. 


PLAY 


Play music- 


GSHAPE 


Display a saved shape to the screen. 


POT 


Read potentiometer on joystick port. 


HEX$ 


Return hex equivalent of decimal number. 


RREG 


Return register value. 


HELP 


Display line where a BASIC error occurred, 


RSPPOS 


Return sprite position. 


INSTR 


Return the position of one string in another. 


RSPRITE 


Return sprite attribute. 


JOY 


Return the position of either joystick. 


RSPRCOLOR 


Return colour of any given sprite. 


KEY 


Display function key definitions, or define new ones. 


RWINDOW 


Return position of current window. 


LOCATE 


Position pixel cursor on the screen. 


SLEEP 


Delay execution lor a specified inten/al. 


LOOP 


Part of the DO-LOOP command. 


SPRCOLOR 


Set a sprite's colour 


MONITOR 


Enter the machine language monitor. 


SPRDEF 


Define a sprite. 


PAINT 


Fill an area with colour. 


SPRITE 


Set up the attributes of a sprite. 


PUDEF 


Redefine symbols in the PRINT USING 


TEMPO 


Set the tempo of the music. 




command. 


WIDTH 


Set widt!^ for the pulse wave form (SID chip). 


RCLR 


Return coiour of background, foreground, or 


WINDOW 


Define a screen window. 




border 


XOR 


Exclusive OR. 



June 1985 19 



with a single line of BASIC. 

A lot of thought has gone into the crea- 
tion of these commands to make them as 
powerful as possible. The CIRCLE com- 
mand, for instance, can draw, in addition 
to circles, part circles, ellipses of any ec- 
centricity, and even polygons like 
triangles, rectangles and pentagons. 
Commands with that kind of power are 
going to make hi-res programming a lot 
less forbidding than on the 64. 

Yet there is a penalty, too. The CIRCLE 
command takes no fewer than nine 
parameters: colour, centre (,x), centre (y), 
radius (x), radius (y), beginning of arc (in 
degrees from vertical), end of arc, 
amount of rotation, and segment size (in 
degrees between vertices). Many of the 
parameters in this and other commands 
have sensible default values — it is rare- 
ly necessary to specify all nine. Even so, 
the conveniences offered by BASIC 7.0 
do not come without a price in 
memorization. 

The assignment of memory to the hi- 
res screen is interesting. At power-up, 
the start of BASIC address, where pro- 
grams begin, is hex ICOl, decimal 7169. 
This leaves you with a Httle over 58,000 
bytes of space for program text. As soon 
as you invoke a hi-res screen, though, 
with the GRAPHICS command, the start 
of BASIC is moved up to hex 4001, dec- 
imal 16385, and the intervening space is 
used for graphics data. This rearrange- 
ment, invisible to the user except for a 
momentary delay, automatically resolves 
the conflict between program text and 
graphics data that so frequently has to be 
dealt with manually on the 64. It also 
reduces program space by 9,000 bytes or 
so, but that will rarely be a problem. 

Sprites 

There are two main difficulties with 
sprite programming on the Commodore 
64. One is designing the sprite, which re- 
quires either a sprite editor or a bucket- 
ful of tenacity; the other is handling all 
the poking and peeking needed to turn on 
sprites, to position and move them, to set 
their colours, sizes, priorities and 
graphics modes, and to detect collisions 
amongst themselves and with other 
graphics data. 

The Commodore 128 programmer ex- 
periences neither difficulty. The first is 
solved with a built-in sprite editor, which 
one invokes with the command SPRDEF. 
This editor is not as powerful as some 
that have been written for the 64, but it 
certainly beats fiddling with graph paper, 
binary math and DATA statements. (It is 
unfortunate that Commodore has not 



provided a RAM vector for linking in ex- 
tensions to this editor, at least in the 
prototype 128s we have seen.) Sprites are 
stored automatically in a dedicated area 
of memory. They can be easily saved to 
and loaded from disk with the BSAVE 
and BLOAD commands used for transfer- 
ring binary data, or they can be defined 
as strings with another special command, 
SPRSAV. 

The second difficulty mentioned above, 
that of manipulating a sprite already 
defined, is solved with a series of com- 
mands that allow all sprite parameters to 
be readily set. Collisions can be detected 
from BASIC (not possible on the 64), and 
can even be set to jump automatically to 
a specified subroutine when detected. 
(Sprite-sprite collisions can be detected 
separately from sprite-data collisions, and 
light pen interrupts may be detected 
also.) Sprites can even be set to move 
automatically with a specified speed and 
direction. Once set in motion, they con- 
tinue about their business with no further 
attention from the programmer. 

Sound 

Programming sound effects and music on 
the Commodore 64 again requires an en- 
cyclopedic knowledge of the relevant i/o 
registers. Once you have mastered the 
mechanics of getting sound out of the 
machine, you can start turning your at- 
tention to figuring out parameter values 
that actually provide a decently musical 
result. 

The C-128 again shows just how far 
short the 64 falls when it comes to pro- 
grammer friendliness. As usual , no pokes 
are necessary. Musical notes can be 
entered using a simple code that is both 
concise and flexible. Voice number, note 
value, octave and so on, can all be set 
along with the notes in the PLAY com- 
mand. The wave form and ADSR envel- 
ope, which give the sound most of its 
character, can be selected from ten preset 
instrumental sounds, or can be set by the 
programmer for a particular need. 

More Commands 

BASIC 7.0 boasts a vocabulary of more 
than 140 commands, of which I have men- 
tioned only a few that will be of particular 
interest to 64 programmers. But it is hard 
to stop there. The structured DO-LOOP 
command-set ought to be mentioned, as 
should the convenient disk commands (in- 
cluding a transparent directory) that 
were present in Commodore's old BASIC 
4.0 machines, but not in the VIC 20 or 
, C-64. In fact, BASIC 7.0 has all the old 
BASIC 4.0 commands plus a couple more. 



Other features that will make life easier 
or more interesting for programmers are 
the predefined (and redefmable) function 
keys, the numeric kej'pad, and the well- 
situated reset button. There are lots of 
things to explore and experiment with on 
this machine also. For instance, programs 
can be made to autoboot by placing the 
characters 'CBM', the filename and some 
other data on track 1, sector of a disk 
in the drive at power-up. Programs can 
be moved back and forth between C-64 
and C-128 modes by pressing the reset 
switch either with the logo key (selects 
64 mode) or without it (selects 128 mode). 
The RAM used for the 64 mode is the 128 
mode's bank zero. 

A Programmer's Playground 

The Commodore 128 is undoubtedly a 
fine i/.se?-','! machine, given its ability, to 
make use of possibly more already ex- 
isting software than any other computer 
in any market. But with its power, its 
complexity, and its convenience features, 
it is also going to be a source of aid and 
inspiration to programmers of all persua- 
sions, and a continuing challenge to ex- 
ploit and explore to the fullest. D 



PROFESSIONAL AID 

|Fd( Commodore Mj 

Ht-j-ipiion^'oi rhi- mo^T powerful 3nd vt-r^alife mii«icjl jnd 

Rr^phict pJckiRPi dvdiUbl? lor rhe C-M. 

PART I: 

PROFf SSJONAL aid has seve^dl opuons tor i^r^plh creairon. 

• Bit-chirr^ — Vou miy ploi mufTi-v^f/^ble horiionial and 
verdcjl bar chjns. 

• ?(f rhans — High resoluiion ind labelled' 

• High-resqiulion line ^rjph^. 

• Hi^h-feioluiion ifailirr/poinl K'^phv 

Fof all ihipRrjiph'i, rhe jte^jre drawn, ihe icjlti iie shown. 
ind \hv axis labels jre displayed 

PART II; 

In rerms oi number crunching. PROFESSIONAL AID will 
calculate the ^undard Hatisltcs (means, median, mode, 
standard devulion, variance, mm/mai, t-arigej jnd display 
llabLrlarandhisio^ramMhelreqLtenirydislributionforasetol 
daia. It wtll deiermine bivifiate ftwo vanable^i regrfsi.fan ii\%. 
providing firred co-edicienii. sundard errors of (he 
eslimatei for each co-eHitieni, ihe covanance, R and R-, 
residual variant*-, residuals, and Kaiier plots. You also have 
the chciiire oUevera I automatic daia 1 ransforrnaiigns . ind can 
dplme your own. 

PROFESSIONAL AID aUo does mulripte finest regressian. 
The ^esuJls presented are the estimated coelf icfems and their 
standard errofi. T values, and bet at. Also supplied are R^, the 
slandard error of the estimaie,ihe F value, and the residuals. 
You may atso make variable transformations so that you can 
pedoim nonlinear reKression, e/g.. polyJiomial regression. 

Another feature h short -ferm forecmmff. Three methods are 
employed- linear regresston, moving averages (span 
specilied by the usert, and exponemial smoothing. In the 
latter case, you may choos.e the weighting lacior, or let the 
torripuier choose the optima] value th/ough linear 
regression. 

You may have your slaiisttcal results, charis, and graphs 
ptrnied oul [high-resolution screen dumpi on Commodore 
1S25/MPS-M1. Epson MX or FX vpnes, Gemini -TtO or 05, 
■Mannesmjnn Tally MT-SO. 

Menu-drivf n. easy lo uie. and very well documented. 
Disk in manual — Pan I or II: J19.95.floth (or t}<,9>, Optional 
J-ringbmderS5.0Q. Add 7'^ sales lax and J3.00 postage. Send 
cheque lo 

S & V ASSOCIATES 

33 Conover St, Nepean, Ontario, K2G4C3 



20 TPUG Magazine 



C-64 & C-128* OWNERS: 

Stop playing "Hide-and-Seek" witti your Disk 
software! Let your Commodore 64"' "memory" do all 
the work 1or you with MASTERDISK = or MASTERDUAL«. 
Experience fully-integrated power for maximum 
productivity. Easy Menu-Guides make everyone a 
"pro" in 1 day! Both feature fully-sorted f\/laster 
Catalog of your TOTAL Software Library (even those 
unlistable "protected" disks). 

MASTERDISK? works with 1or2Single Disk Drives 
(1541. MSD, etc.) PRICE: 534.95. (U.S.A.) 

MASTERDUAL© utilizes all dual-drive functions 
(4040, MSD, etc.) for maximum speed and ease of 
use. PRICE: SZ9.95. (U.S.A.) 

*Both are also compatible with the NEW C-128 (in 
C-64 mode)! 

INTEGRATED-SOFTWARE SYSTEMS 

VISA/M.C./C.O.D.. call |515| 233-2992 

9 a.m. -9 p.m., (Central Time) Mon.-Fri. 

Add S3 Shipping/plus S2 Foreign, C.O.D, 

lA Residents add 4% Sales Tax. 

IN CANADA: 
Cricket Distribution Co., 

616 Mackechnie Crescent. Cobourg. 

Ontario. Canada K9A4X8 

Call (416) 372-3692 for prices 

and shipping information 

9 a.m.-6 p.m. (Eastern Time) Mon.-Fri. 



COMAL INFO 

If you have COMAL— 

we have information. 



BOOKS: 

COMAL From A To Z, S6.95 

COMAL workbook, S5.95 

commodore 64 Graphics with COMAL, S14.95 

COMAL Handbook, S18.95 

Beginning comal S22,95 

structured Programming With COMAL, S26.95 

Foundations with comal. S19.95 

Cartridge Graphics and Sound, S9.95 

Captain COMAL Gets Organized. S19.95 

Graphics Primer, S19.95 

COMAL 2.0 Packages, S19.95 

Library of Functions and Procedures, S19.95 

OTHER: 

COMAL TODAY subscription, 6 issues. S14.95 
COMAL 0.14, Cheatsheet Keyboard Overlay S3.95 
COMAL Starter Kit (3 disks, 1 book), 329.95 
19 Different COMAL Disks only S94.05 
Deluxe COMAL Cartridge Package, S128.95 
(includes 2 books, 2 disks, and cartridge) 

ORDER NOW: 

Call TOLL-FREE: 1-800-556-5324 ext 1307 VISA or MasterCard 
ORDERS ONLY. Questions and information must call our 
Info Line: 608-222-4332. All orders prepaid only— no C.O.D. 
Add S2 per book snipping. Send a SASE for free info 
Package or send cneck or money order in US Dollars to: 

COMAL USERS GROUP, U.S.A., LriUIITED 

5501 Groveland Ter. Madison. Wl 53716 

TRADEMARKS: Commoflore 64 Of Commodore Electronics Ltd.: 
Captain COMAL of comal Users Croup, USA.. Ltd. 



^ 1 _k500< 







m 






be 



the 



maV.rnt ans' 



the 



fight 



Commodore 64 ' 
Disk $24.95 



TYPING TUTOR + WORD INVADERS 



^^_ . . REVIEWERS SAY: 

M^^^i>""'5t5*°* ^B "Tlnls is the best typing tutor 

■.^B **''^rtrt*'>*'* ^K "^ ^^^ seen yet; * » * * -f " 
■••""^^-"S^^CM INFCh64 

^Vi^ — ' ■v^^^^-^i Computer aided inslruction at 

V)S , ^>^^?7^'^':J^5 ''^ bes!-" Commnnder 

V^^^-i!S^^' ^^ "This is an excellent program 

■i^g^^fl^E^' '^m that makes typing practice an 

^■^S^^^V^^^b' ^& enjoyable pastime instead of 

■^^^^^^^^^v^ft boring drudgery." 
WHSlf ^UgBMI^ft DILITHIUM PRESS 

■l^B^K^^P^^^B' Rated the BEST educational 

HH^^^^^S^^ program lor the VIC 20 
S^^^P^^^^^^ Creative Computing 

™^^^ CUSTOMERS SAY: 

. . delighted with my son's 
progress ... he is the only one in his second grade class 
who touch types at the computer." 
"Your Typing Tutor is an excellent program . . . our A 
children literally wait in line to use it." 

"Thoroughly satisfied, can't believe how fast I've learned to 

type. I've never typed before." 

In daily use by schools across the USA. 

NEWI Commodore PlusM or 16 . . .Tape $21.95 Disk SZ4.95 

Commodore 64 Tape $21.95 Disk $24,95 

VIC-20 (unexpanded) Tape $21,95 



IFR (FLIGHT SIMULATOR) 



REALISTIC AIRCRAFT RESPONSE 

"Has a Quality of realism which 
sets it apart from others, even 
those I've tested in flight school." 
i Compute's Gazette 

i "Great program!" INFO-64 

"II is tremendous fun." 

Compute's Gazette 
Flight tested by an air traffic 
controller, two skilled pilots and 
an elementary school class. 
Highly recommended by all." 

Midnite Gazette 

"This IS an unbelievably realistic 
simulation of the dtfficullies 
facing a pilot in instrument (ly- 
ing. I'm a 747 pilot and I think Ihal this simulation could do 
a tol to improve the reactions and instrument scan habits 
of even very experienced pilots." 747 pilot 

NEWI Comtnodore Plus/4 or 16 ... ..Tape or Disk S29.95 

Commodore 64 Tape or D>sk S29.9S 

VlC-20 (unexpanded) Cartridge $39.95 




Shipping and handling $1.00 per 
order CA residents add 6% {ax 






P.O. Box 6277 Sari Rafael, CA 94903 (415) 499-0850 



The Creation of Sky Travel 



by Frank Covitz 

The Sky Travel program, reviewed 
elsewhere in this issue, was two years in 
(he making. In tk ik article, one of the 
authors oftheprogi-am describes the crea- 
tion and development of Sky Travel, and 
the problems faced by him and his co- 
authors in bringing the program to the 
market. 

It is 1982, and I am discussing mth my 
colleague and good friend, Dr. A.C. 
Ashcraft (Clif to you and me), the marvels 
of the 6502 home computer, the PET (we 
had both graduated from the KIM). After 
spending a good deal of time and brain- 
busting, Clif and I had recently completed 
a very versatile music program that spat 
out 4-voice music with user-defined in- 
struments through a Digital to Analog 
Converter (DAG). SID sounds are total- 
ly primitive compared to what our DAG 
software could do, although SID does 
have a better high frequency response. In 
any case, I suggested to Clif that another 
'natural' for a computer application 
would be in astronomy, where computer 
graphics could conveniently represent the 
results of what we knew would be some 
rather complex computation. 

Both Clif and I were (and still are) 
amateur astronomers. Some years back, 
another good friend (Keith Sproul) had 
obtained for us a star catalogue in 
computer-compatible form through his 
connections mth ARPANET. So we had 
a good start (although later it turned out 
that much more time was spent on the 
programming effort than would have 
been spent keying in the star data from 
catalogues). After deciding that it should 
be possible to get the 6502 to present 
graphically a view of any part of the sky, 
I spent some time describing what could 
be done in the astronomy area to Steve 
Murri, who was at Commodore at the 
time. He suggested that I propose such 
a software product to Commodore, which 
I promptly did. Both Clif and I began 
developing the math routines we knew 
were going to be needed: for example, a 
spherical trigonometry package, since 
there is no way you can accurately repre- 
sent a portion of the sky by horizontal or 
vertical 'scrolling' through a data base, 
as is normally done with game-style 
background graphics. 




Spherical trig is tough! — and full of 
mathematical pitfalls. I could go through 
an entire chapter on the inside-out 
universes we created, the ones with 
'black holes' in various regions, or even 
'wormholes' through space whereby an 
object could be seen on both sides of the 
sky. After about a month of ploughing 
through such problems, however, we had 
a reasonable window on the sky, viewable 
on a PET computer equipped with an 
MTU 'visible memory' (a 320-by-200-pixel 
monochrome bit map). At about this time, 
the Commodore 64 was just starting to 
emerge, and Steve Murri obtained one of 
them for us. Before launching into a full- 
featured 'Home Planetarium' (as our pro- 
posed product was originally called), we 
decided to wait until my formal proposal 
to Commodore was officially accepted 
Our personal goal of having a computer 
generated sky had already been met, ant 
we had little incentive to pursue it fur> 
ther without assurance that it would be 



a widely useful and marketable software 
product. At this time there, was no 
horizon, no planets, Moon or Sun, no 
world map, and no user-friendly 
interface. 

Much to our dismay, no one (except 
Steve) at Commodore thought much of a 
home planetarium product. Typical com- 
ments from the decision makers were: 
"Wliy do I need a computer? If I want to 
know what the sky looks like, 1 can just 
go outside." My comments, "If it's rain- 
ing out, you can just turn on the wind- 
shield wipers on your telescope, right?" 
and "I suppose that when you go outside 
and point at something in the sky, a voice 
coming from the Almighty tells you what 
it is you are looking at, and draws con- 
stellation lines in the sky," were met with 
appropriate but condescending smiles. No 
one with decision-making authority seem- 
ed to understand that the proposed pro- 
gram was not supposed to take the place 
of actually looking at the sky, but to en- 



22 TPUG Magazine 



courage it. Clif and I felt that most peo- 
ple have enough curiosity to want to 
know the stars and planets, but don't 
have the patience and time to gain this 
familiarity through books and charts. 

The project was put on hold for about 
ijix months. In May of 1983, Steve Murri 
and I were driving together to attend a 
TPUG symposium, at which I was going 
to present a talk on graphics and music. 
Near sunset, Steve happened to spot a 
bright star-like object in the western sky, 
and wondered out loud what that 'star' 
was. When I told Steve it wasn't a star 
at all, but the planet Venus, he was ex- 
tremely interested and amazed at how I 
knew this. We began discussing the home 
planetarium project anew, and Steve 
grew more and more enthusiastic about 
it. When I reminded him that the pro- 
posal had been on hold for quite some 
time, he promised he would try to do 
something to activate the proposal when 
he got back to West Chester. This he cer- 
tainly did, and arranged for Clif and me 
to meet with Commodore's new software 
director, Sigmund Hartmann. Sig (as he 
hkes to be called) immediately recogniz- 
ed the potential of what we were propos- 
ing as a fine example of a product in the 
educational area. Things started to pick 
up immediately: a contract was agreed 
upon, hardware support was generous, ^ 
and we were asked to finish the product 
by the January 1984 CES show. 

Now the real work began. By this time, 
another colleague and friend. Dr. Fred 
Ancker, had joined the team, and was try- 
ing to organize Clif and myself into adop- 
ting a more business-like approach to 
software development than either of us 
were used to. Fred, who is Danish, was 
our chief negotiator with Sig, and they 
seemed to talk the same kind of language 
(Sig apparently has more trust in people 
with European accents). Fred consistent- 
ly attempted to convince Clif and myself 
to 'farm out' more work to other people: 
the specifications for the home 
planetarium had gotten quite ambitious 
by this time, and it was clear that it was 
going to be an enormous effort. The prob- 
lem, as Clif and I so often pointed out, 
was that by the time we would be able to 
specify exactly what we wanted in 
enough detail for it to be farmed out, we 
felt that we would be 95 per cent of the 
way to having it in source code (it was 
clear from the beginning that essentially 
all of the planetarium would have to be 
written in assembly language). 

Nevertheless, we did get help in two 
important aspects. We wanted the 
system to have an informative piece of 
text on every object that the system could 



display, and we also wanted the user to 
be able to get a hard copy of any graphic 
screen. The amount of text on each object 
could differ enormously in length (a few 
facts on some of the fainter stars, a lot 
of text on the planets and some of the 
more prominent deep-sky objects). We 
needed a random access/random length 
disk access routine, but neither Clif nor 
I was well versed in the intricacies of the 



. . . Clif and I felt that 

most people have 

enough curiosity to 

want to l<now the stars 

and planets, but don't 

have the patience and 

time to gain this 

familiarity through 

books and charts. , . 

disk operating system. A young and 
brilliant fellow by the name of Paul Kriss 
(an avid TPUGer) was enlisted to do the 
disk work as well as the printer dump 
routine. We were helped in other areas 
as well — not as much as our business 
mentor, Fred, would have liked, but 
enough to consider ourselves at least 
beginners in the 'agricultural' method of 
programming. 

We started from scratch on our star 
data base, and were in touch with the 
NASA department that dealt with public 
domain information. It turned out that 
the Bright Star Catalogue was available 
on mag tape for only the copying and 
media cost. The positions, brightness, and 
other data for the brightest 250,000 stars 
was obtained, and a Fortran mainframe 
program was written by Keith Sproul to 
weed out data for stars brighter than 5th 
magnitude — those visible to the naked 
eye. By the time we had most of the pro- 
gram developed, data for about 1200 
stars could fit into the C-64's memory; in 
addition, about 300 deep-sky objects 
(nebulae, galaxies, clusters, and so on) 
were added, also from NASA data tapes. 

While I was working out the details of 
the user interface, Clif was WTestling with 
the problem of how to manage the com- 
putation of the Solar System objects 
(Sun, Moon, planets). At first approxima- 
tion, the planets seem to trace out neat 
circular or slightly elliptical orbits with 
the Sun at one focus. After all. Sir Isaac 
Newton and Johannes Kepler had work- 
ed out the two-body grayitation problem 
long ago, so it couldn't be too com- 
plicated, right?. . . Wrong! It turns out 



that in order to be accurate enough to 
compute positions to a minute of angle 
(the limit we had decided upon as consis- 
tent with 16 bit coordinate data), the 
equations for planetary motion have to in- 
clude the secondary eiffects (or perturba- 
tions) due to objects other than the Sun. 
The Moon is especially difficult, since it 
has significant perturbations from both 
Earth and Sun, and is an object whose 
position is observationally known over 
long periods of time with good accuracy. 

By this time, Fred had gotten 
fascinated with historical accounts of 
such phenomena as lunar and solar 
eclipses, planetary alignments and tran- 
sits, and we all desired to be able to 
simulate these reasonably well. The stars 
must have been favourably placed for us, 
because Clif was able to locate a journal 
article that seemed tailor-made for our 
purpose. Not only that, but it turned out 
that we knew one of the authors. The ar- 
ticle presented a method and gave the 
data needed for computing the positions 
of the planets and Moon with no short or 
long-term drift with an accuracy of about 
one minute of arc. Understanding how to 
use the system was no simple task 
because it entailed a fair knowledge of 
astronomy, math and computer 
programming. 

To save valuable RAM space, Clif and 
I decided to use the ROM floating point 
routines out of the BASIC area. Although 
Jim Butterfield cautioned us to avoid tap- 
ping into the non-Kemal area, he also was 
quite sure that these routines had surviv- 
ed essentially intact since the early days 
of the first PETs, and were unlikely to 
change for any machines on the horizon. 
Clif and I decided that the needs of 
meeting our deadline, and the savings in 
RAM space justified our use of the ROM 
routines. After falling into all the traps 
associated with the floating point ac- 
cumulators, normalized representation, 
the sign comparison byte and so on, we 
finally got the planetary ephemeris under 
control. Fred had a field day asking us to 
check out some of the more interesting 
historical events he was incorporating in- 
to the tutorial sections of the manual he 
was writing (he wasn't able to farm that 
job out, either!). As a result, we had to 
modify the equations subtly to account for 
the slow deceleration of the Earth's rota- 
tion rate due mainly to tidal friction with 
the Moon. The Moon's orbital elements 
also had to be corrected for this effect. 

By now, the user interface was 
reasonably complete, and we had met our 
goal of not forcing the user to have to key 
in any numerical information, as was the 
case for various astronomy programs 



June 1985 23 



then available. The observer's location on 
Earth, and his direction of view were cur- 
sor (or joystick) controlled; the correspon- 
ding coordinate data tracks the cursor 
and is continuously displayed in a 'data 
window' on the right edge of the screen. 
The text access portion was not quite 
finished, but we felt that we had a 
dennonstratable program in time for the 
CES show in January 1984. 

During our preparations for CES, Clif 
and I were invited by Frank Winter of 
Commodore Canada to participate in the 
Commodore Anniversary meeting and 
show in Toronto, in mid-December. 
Naturally, we were going to preview the 
home planetarium program, and Frank 
creatively entitled our talk 'Magical 
Mystery Tour Through The Universe'. In 
keeping with the spirit of this unusual ti- 
tle, I prepared a few surprises specifical- 
ly for the show. As the audience entered 
the auditorium, I had arranged to have 
the Beatles' song 'iVIagica! Mystery Tour' 
playing in the background. Previously, 
Clif and I had been doing some last 
minute programming so that the ON 
tower in Toronto would be visible on the 
horizon, when the system was put to the 
correct latitude and longitude. Thus the 
machinery for the 'map tokens' was 
created. 

I had carefully arranged things so that 
after the opening screen default condi- 
tions (Washington DC, January 1, 1985) 
I could quickly demonstrate the MAP 
mode by going to Toronto, and the SET 
mode by going to the show date and time, 
which was in the late afternoon. The sky 
colour came back blue, of course, since it 
was still daytime. To demonstrate the 
FIND feature, I had the program find the 
Sun; there it was, low on the western 
horizon, and just above the CN tower, as 
had been so carefully planned, I activated 
the clock to 64X so the audience would 
get to see the sunset. As the clock started 
to tick, I secretly activated a recording 
I had made of the opening music from 
'Also Sprach Zarathustra' (j'ou know, the 
one from 2001). The music peaked just as 
the Sun was passing behind the CN 
tower, and setting below the horizon — 
perfect timing, if I say so myself. 
Needless to say, the audience loved it. 
"Aha!" heckled Brad Templeton (a 
TPUGer of note for his brilliant program- 
ming abilities), "I bet you still see the CN 
tower before 1970." (The tower was com- 
pleted in 1970). To the audience's delight, 
I was able to retort truthfully "Of course 
you don't see the tower before it was 
built, Brad," and proceeded to 
demonstrate. 

By May 1984, all the minor bugs had 



been removed, and the manual was finish- 
ed by Dr. Ancker and delivered lo West 
Chester. We had previously 
demonstrated the planetarium program 
to a group from the Franklin Institute, 
a museum in Philadelphia, and the staff 
of the Haydcn Planetarium, where the 
resident astronomer was skeptical until 
I successfully simulated an eclipse of the 
Sun in New Caledonia in November of 
1984, an event to which he was making 
an expedition. 

. . .As the clock 
started to tick, I secret- 
ly activated a recor- 
ding I had made of the 
opening music from 
Also Sprach 
Zarathustra. . . 

The project was stil! far from complete. 
All the details of preparing the manual 
for publication, and getting the disk 'pro- 
tected', lay ahead of us. By this point, we 
were being helped by Commodore staff, 
notably Sandra Ritter, Doreen Carson, 
Diane Lebold, Barbara Feldman, Joyce 
Wetmore and Steve Beats. I also must 
give special thanks to Elizabeth Deal, 
who is not a Commodore employee, but 
is an avid PET user and super 6502 pro- 
gi'ammer. Liz lives near West Chester, 
and graciously played host to Clif, Fred, 
and myself after most of our many 
meetings with Commodore. Meanwhile. 
Dr. Daniel Kuntz, who was heading the 
educational software division, had gotten 
an appointment to the council of the new- 
ly formed Young Astronauts Program in 
Washington, DC. Much to our delight, 
Dan recommended and got acceptance of 
Sky Travel (the final name chosen for the 
product by Commodore) as officially ap- 
proved software for the program — the 
first one to get such approval. After 
seemingly endless delays, the product 
was officially launched in late December 
1984, just too late to have any impact for 
the Christmas season. 

The story is not over. Commodore ap- 
pears to be trapped in a vicious circle in 
the software area: they deal mainly with 
distributors who, in turn, bring the pro- 
ducts into the retail stores. The catch is 
this: Commodore software has (to put it 
mildly) not always been of top quality, 
and many distributors have gotten stuck 
with piles of marginally saleable Com- 
modore products. Distributors were not 
exactly jumping to carry Sky Travel, 
since it was to them an unknown. People 



who wanted it couldn't get it because it 
wasn't appearing in the stores. Worse 
yet, the very existence of Sky Travel 
seemed to be a carefully guarded secret. 
It seems a Commodore software product 
has to already be a success before it can 
be a success! 

We have now reached the present, and 
the apparent paradox shows some signs 
of being alleviated, since the appearance 
of an excellent review article and back 
cover ad in the April Commodore 
magazine. Was it worth all the effort? 
Remember, we are now close to two 
years since the start of the programming 
effort, and much of the time was spent 
in hard work. Fred, Clif and I put our all 
into making Sky Travel as complete and 
user-friendly as possible: the INFORM 
text occupies over 400 blocks on the disk, 
the program itself utilizes over 60K of the 
64K RAM space of the C-64, not counting 
overlays, and the manual is well over 100 
pages long. As of this writing (April 
1985), the answer is: definitely not! The 
rewards have been minuscule compared 
to the effort up to the present time. 
However, the story goes on, and we may 
eventually see our claim come true — that 
even people only casually interested in 
what's in the sky will want Sky Travel. 

Remember. . . the comet is comnfir.'D 



THE ULTIMATE SIMULATION 



^^-^^ THE GAME ' 



Version II 

For The 64 

• Impressive Graphics 
With Hi-Res Features 

• Realistic Sound 

• Stratef-jic ThouJ,ht Involvement 

• The Only Game That Parallels 
The T.V. Series And Movie.? 



t: K L A N D 




Dept. A 
P.O. Box 1324 
Meaford, Ont. 
NOH lYo, Canada 
(519) 538-1758 



SOFTWARE (D.sk Only) 



$21.95 Cdn. $19.95 U.S. 

OnT. Residenis Add 7% Provincial Sales Tax 

Please Moke Cheque Or Money Order Payable 

To Dove Neale 

Dealer Inquiries Invited 

Even Spock Would 
Find It Challenging 



24 TPUG Magazine 



Expand 

Past 
Maximum 
Capacity! 




The Tech/News Jounai For Commodore Comoiefs 



At better book stores everywhere! Or 6 issues delivered to your door 

lor just $15.00 (Overseas $21 U.S. Air Mail $40 U.S.) 

The Transactor. 500 Steeles Ave. Milton, Ontario. L9T 3P7. 

416 876-4741 From Toronto; 626 1662 

Atso check out The Transactor Disk and The Complete Commodore 

Inner Space Anthology - to us, expansion knows no limits! 



PROTECT YOUR COMPUTER 
COVER IT 

Covers For Ail Makes and Models of 

Commodore Products 

Set of Three (Keyboard. Disk Drive and Monitor) $17.50 

Standard Size Printer Covers $9.50 

Large Carriage Printer Covers Si 1 -50 

Pets and Double Drive Covers S9.50 

Cal For Prices on Specials 

We Ship Prepaid On Cash. M C or Visa Orders 

By Phone Or Mall 

NAME. 



STREET 


CITY 


PROV. 


PC 


MC 


VISA 


NUMBER 




SIGNATURE 



C. P. U. ELECTRONIC SYSTEMS CORP. 
2652 SLOUGH ST.. 
MISSISSAUGA, ONT, L4T3T2 
TELEPHONE (416)- 677- 8200 

special prices for schools and dealers 



TORONTO COMPUTES! A monthly tabloid paper keeping its readers up to 
date on the local micro scene • Widest circulation of any computer publication in 
the Toronto area • For all users from the enthusiast to the novice • Topical coverage 
of recent developments and events. 


LOOK FOR 

BUYER'S GUIDE 
SPECIAL ISSUE 

IN THE FALL 

If you're in the micro business and we 
liaven't been in touch wWh you, please 

give us a call. 694-0303. 

3 Massey Square, Suite 201 , Toronto 

M4C 5L5 


TO GET A SUBSCRIPTION TO 

TORONTO COMPUTES! 

(until next month) 


1 Please sijin me up as a charter siiliM'rilier to the biauesL host, mos^i com- | 
1 prchcnsive consumcrMjriL-rKfd luhloid for micnK'onipulcf user-; in 1 
1 Tdfonco. I LMicIoNC S8. 1 


! Vtidress . . . . ^ . , , , 1 






! (Jptinnal: Totonio Computes^ MouJd iipprccbiTc nn^^crv ui Hiv |(iII<iHin)i: 




1 Do you ust- ii at home oral work? 

1 Mail to: ToronU) CompulesI . ^ ~ ' i 

1 J Massey Square, Suite 201 

1 Toronlo. Onlario M4C 51.5 1 

[ Chf^iie iir monc> order only, pnyable lo "CorilcM PublishLnji". ■ 





A Begiimer's BBS Guide: Part Three 



by Ian A. Wright 

Bulletin boarding has become very 
popular in recent months, and modems 
are among the hottest-sellhig peripherals. 
To some extent, this popularity results 
from, a midti-med.ia blitz cavsed by stories 
about 'hackers ' presented in the movies, 
on television and in print. Real telecom- 
7nunication. hoiuever, is an enjoyable and 
often very iiseful activity, not — as the 
media often portray it — a solitai'y ajtd 
destructive one. In the first tivo arti4:les 
of this series, Ian Wright discussed some 
of the Mses of bulletin boards, and. how to 
logon and read, messages and bulletins. 
Now he explains the procedures for enter- 
ing messages, and for uploading and 
downloading, iising examples from 
TPUG's ovm Bulletin Board System 
(BBS). Since the download function is not 
fully supported by the club's board. Ian 
uses the Bradley Brothers' Bulletin Board 
System (BBBBS) for examples of that 
p?'ocess. 

The Message Editor 

The story is that Steve Punter, while 
working on the earliest version of his text 
editor, decided to test it in his BBS pro- 
gram. I don't believe it, because Word- 
Pro is far superior to the adequate but 
annoying line editor of the BBS. 

Entering a message to another BBS 
user or to all involves typing the letter 
E at the command > prompt, and 
following directions. The difficult part, 
for most users, is the use of the built-in 
editing functions. The message editor 
works after you have typed in your 
material — so don't format your message 



neatly as you enter it. Typos, spelling and 
grammatical errors should be checked by 
selecting F to preview your message from 
line one to the end. Correct your errors 
using List, Continue, Replace, Edit line, 
Insert or Delete line, and place Paragraph 
marker. Finally Send your message to 
the BBS disk when it's correct. 

Entering a single space, followed by a 
carriage return, will leave a blank line 
between paragraphs as you enter your 
message, making it easier to read. Please 
use upper/lower case if your terminal sup- 
ports it — it's much more pleasant for 
tired eyes at 3:00 am. The BBS will 
automatically add your name to the end 
of your message (no anonymity!) — but 
it's good form to sign off anyway. 

Until you select S to send your 
message, you can continue to enter or 
correct it. You can delete any message 
you sent by tj^ping DM at the command 
> prompt, if necessary. Messages sent 
to you can be deleted each time you sign 
off the board, and this helps clear the clut- 
ter of old messages. 

Some terminal programs allow you to 
compose a message while off-line (in your 
word processor), and then upload it 
directly from disk just as if you had typed 
it in live. A few terminal programs have 
an 'editor' function that will allow you to 
compose the message and edit it, using 
full-screen editing, while you are still on- 
line, then switch to terminal mode and 
send it. 

Private messages are 'restricted' so 
that only the sender, receiver and SYSOP 
can view them — all others cannot. Note 
that the SYSOP can read everything in 



all sections of the board. This is a check 
on illicit activities — it is not an invasion 
of privacy. The TPUG SYSOPs have 
seldom had to deal with problems such as 
illegal trading of copyright software, 
abusive language or illicit operations, 
because they delete any offender from the 
user list. You are given one free error — 
one warning should be enough. TPUG's 
BBS has a spotless record, because each 
of our SYSOPs has taken his respon- 
sibilities seriously. 

Uploading 

TPUG's BBS does allow uploading of 
material to the office, so that (for in- 
stance) you can send a program to the 
various librarians, for inclusion on a mon- 
thly disk. The process of sending a file to 
the BBS is simple, but many novices find 
it confusing at the start because it in- 
volves 'protocol'. 

Protocol refers to a process of sending, 
receiving and checking data transmis- 
sions between computers. As most of you 
are aware, an IBM computer will not run 
Commodore programs, because the two 
machines 'don't speak the same 
language'. Even their BASICs are dif- 
ferent. Many BBSs use a common 
128-character code called ASCII to 
transmit text files between dissimilar 
machines. Common protocols include 
Punter Cl , Vidtex B, X-Modem and ,img. 
Each involves a different method of 
transmitting information between 
computers. 

TPUG's BBS still uses the original 
Punter protocol — it will send three 
blocks of information (255 bytes each) per 



Selected BBS Commands Continued 




UP/DOWNLOADING 


OTHER 


LIST 


show available programs 


E leave a message on BBS 


LOAD 


download a program 


DM delete a message 


SAVE 


upload a program 


CAT list message categories 


STAT 


save status variable 


DUP change duplex 


NEXT 


continue message reading 


EXP expert mode 


DP 


delete program (you must have the dele- 
tion code) Send a 'start signal' by exiting 


FWD reprint private message 




from termmal mode to mam menu, select 
receive/send a program and follow the 
prompts of the terminal program. 


Message editor: H = help, L = list, 

R = replace/original/new/line #, S = send, 

F = preview, E = edit, I = insert line, 

P = paragraph, Space & Return = leave blank line 




Note: TPUG BBS does not 


support DOWNLOADING 



26 TPUG Magazine 



minute from your computer to TPUG's. 
The usual speed of home telecommunica- 
tions is 300 bps (bits per second) — 
sometimes incorrectly called baud rate — 
which is the same slow speed at which the 
1541 disk drive operates. Up and 
downloading is even slower. The delays 
in the Punter protocol are a result of 
careful checks for incomplete or inac- 
curate transmissions, so Steve has 
recently developed version CI for the 
C-64, which is twice as fast and much 
more accurate. Unfortunately, it does not 
work with PET BBS systems like 
TPUG's. (Since this airticle was written, 
TPUG has in finct switched to a C-6J, 
system using the new Punter protocol. 
--Ed.) 

Your terminal must support the pro- 
tocol of the BBS you are using. You can't 
upload to TPUG using a terminal pro- 
gram that has only X-Modem protocol. 
The selection of an appropriate terminal 
program thus becomes a major problem. 
Most BBSers have accumulated a number 
of different terminal programs because 
they cannot find one terminal program 
that does it all. I have seven! 

The only tricky part to uploading a pro- 
gram, bulletin or message to TPUG's 
BBS comes when you are asked for the 
'start signal', after tjiping SAVE, and 
entering the file name. The start signal 
can be sent only by exiting from terminal 
mode, going to the main terminal menu, 
and then selecting the option that lets you 
upload (or send or transmit) a file. 
Depending on your terminal, you may be 
asked to give the filename again and to 
tell the terminal whether the file to be 
uploaded is a program, a sequential file 
or a WordPro file. You don't send any 
start signal — your terminal program 
does it for you. 

As the file is sent, you should see a - 
on the screen for each good block trans- 
mitted, and a ; for blocks that were not 
successfully sent. These bad blocks will 
be retransmitted until acceptable, but a 
general rule is that any five bad blocks 
constitutes a questionable upload (or 
download) and you should try again later. 

Downloading 

Since TPUG's BBS has elected to have 
almost 700 users, the downloading sec- 
tion has been removed from the club 
board. I will describe downloading as it 
applies to local Punter-protocol systems. 
LIST is the command that will give you 
a listing of programs available for down- 
loading, allowing you to select from the 
various menus that appear (pause/abort 
works the same here as in the message 
section). Not all files can be downloaded 



by everyone. Sometimes files will be 
uploaded with a password so that only 
those with the password have access to 
them. This is shown with a * beside the 
name when you list the files. Write down 
the name of your selection exactly as it 
appears in the list. At the command > 
prompt, type LOAD, and then the name 
of your selection as prompted. Wait while 
the BBS looks for the file. You'll see the 
file name repeated, and the estimated 
time of transmission (how long it will take 
to download the data). 

At this point you can abort the 
download (use SHIFT-A) or send a start 
signal The start signal is the same as that 
described above for uploading — with one 
difference. Enter the name of the file to 
be written to disk as "0:filename" to 
write to drive 0, even with a 1541 drive. 
I have found that this eases the do^vnload 
process greatly. At the end of a successful 
download, you will see your name, the file 
name, the blocks downloaded, and the 
time. 

Up/downloading from CompuServe, 
DOW Jones, or the company VAX is no 
different in principle to using a BBS, and 
every attempt is made to ensure a simple 
and accurate exchange of data. Elec- 
tronic communication can be a doorway 
to a whole new world of people and 
events — try itl 

In the next article, I will give some tips 
on the selection of modems, terminal pro- 
grams and phone lines for use in telecom- 
municating. If you have any questions 
please write to me c/o TPUG Magazine 
- or send E-mail to TPUG Office on the 
club BBS (416-782-9534). D 



»<*!S*i 




Important message to 



The telephone number is: 

(416) 782-9534 

Operating hours: 

24 hours per day 

7 days per week 

The password is . . . 

MONO 



JUST 
MENTION 
'THIS TPUG AD IN 
YOUR ORDER, AND 
DEDUCT 5% FROM THE 
PRICES SHOWN BELOW!!! 



MITEY MO 



C-64 MODEM 
WITH SMART-64 
SOFTWARE 
AND UPLOAD/ 
DOWNLOAD 

Piug-in modem tor the 
Commodore-64 incfiides^ 
evetylhing you need to 
gel on-line loday! Access ' 
Bulletin Boards, eleclronic' 
mail, data banks, games 
and more Fealures easy-to- 
use manual, menu-driven Smart-SA software, Aulo 
Dial/Answer/ReDJar, 2BK bulfer. program 
upload^dowriload. save lo dask, multiple baud rales, 
VT'52MD0 emulaiion. help menus, grapiiics. X-modem 
pTOiocol and more Includes software, cables, manuals 
and FREE access to CompuServ! 3-year guaranlee En- 
dorsefl by the U.S Commodofe Users Group as "the 
best pricei'performance communications package 
available". Don't settle tor less wlien you can have 
■ MO ■, at' S139.95 postpaid. (Reg Sl59 95) 

VIZASTAR 

BRINGS LOTUS 1-2-3 POWER 
TO YOUR COMMODORE-64! 




MfM Shff t r 
Forptat. tin, P 


]f f 




aw, Tonr 




»i * e c » 1 


K li»fs nH 1 in< 


19CZ 1 






I 


K. t„„^., m.n 


IJM? 


"»>a 


Kl. NIUI 312 4C 


!1M) 


4S id 




i = 


; e D E 


H 


tCi. li u:»; 


t4.al: 1 


R — 


Sli. 




Hi 




_^m 1 


Ib 




-| 


■ 


k 


j— 


! — 


3 



Anu^s! y;rt'fn dump primed by VIZASTAR 

This ingenious UK program is sweeping North America' 
Imagine a Spreadsheet, Graphics and Database pro- 
gram all in one Vizastar, the "Lotus" of the C-G"; lealures 
64,000 cell spreadsheet wiih up to 9 window overlays, 
Uneybar/pie graph capability, and integrated database 
Powerlul menu and executive fof aulomat-c operatjon 
Compatible with most primers & word processors Com- 
prehensive manual, backup disk and tutorial incredible 
performance at S179.95 postpaid. {Reg 5lB9 95) 



OTHER FAVOURITES 



Fhghl Simulator II (D| 
F-15 Strike Eagle' (D) 
Solo Flight (D or T) 
Kennedy Approach (D) 
The Print Shop (D) 
Bank Street Writer (D) 



$54 95 
$46 95 
546 95 
S46 95 
S5B95 
S5B9S 



Hitchiker's Guide 10 Ihe Galaxy S49 95 

SAM Soltware Voice Synthesizer (0) S69 95 

Pinball Construction Set (D| $49 95 

Spy Hunter (Can) S55.35 

Academy 1FR Flight Simulator 

Commodore 64 (D or T) $39.95 

VIC-20 (CertI S49 95 

Academy Trivia Plus (D) S39 95 



Add S2 00 per shipmen! tor Other Fa./ourites" only (any 
q[y ) lyian residents add 6% tax Include cheque. MO 
(or card no . e)(piry date & signature (or VISA/Master- 
Card). Ask for our FREE Soltware Catalogue I 

THE SOFT WAREHOUSE 

Dept. 33, Box 1983 

S Winnipeg, Man. 
R3C 3R3 

June 1985 27 



Not Just A Pretty Picture 



100 
110 

120 
130 
140 
150 
160 
170 
130 
190 
200 

£10 
220 
230 
240 
250 
260 
270 
280 
290 

300 

310 
320 
330 
340 
350 
360 
370 
380 
380 
400 
410 
4E0 
430 
440 
450 
460 
470 
480 
490 
500 
510 
5E0 
530 
540 
550 



rem koala splii-ter by nicK sulliyan 

i-f £.u = l goto 230 

poke 251 ,peeK <55>: poke 55,0 

poKe 252,peeK ':56) : poKe 56,96 

c Ir J s.u = l 

close l: open 1,8, 15, "10" 

gosub 320 

inpu-t "Koala file";K-f* 

K-f*=chr*(l£9)+K-f*+"*" 

open 2,8,0,Kf*! gosub 320: close £ 

load Kf$,8,l 

print "change disKs, press return" 

get a$: i-f a*<>"" goto £40 

get a$: i-f a$<>chr*<13) goto 250 

for i=l to 3: gosub 380: next i 

poKe 55,peeK(e5n 

poKe 5e,peeK(£5£) 

cl r : end 

rem checK error channel 

inputtfl ,e ,e#,t ,s 

if e<£0 then return 

print "<doLin>disK error : " le J e$; t ;s 

close £: close 1: goto 270 

rem saMe a file 

read a$: print "saving " a$ ".. ." 

pr int#l ," 10" : gosub 3E0 

open 2,8,2,a*+" ,p ,u " : gosub 320 

read a: print#£,chr$';0);chr$<a>; 

read a,b 

for j =a to j +b 

pr int»2,chr$<peeK (j ) ); 

next j 

close £: return 

rem hi -res (b it map) 

data filel, 3£, £4576, 7998 

rem low -res (video matrix) 

data file£,<2 spaces >4, 32576, 993 

rem colour memory 

data files, 216, 33576, 399 



Tlie DATA statements in lines 490. 520 and 550 of this program each contain four 
items. The first /*■ afilenaw£, which you can r.hnngc to unit i/mtr oum taste. Th£ 
second is the page at which the file unU be loaded in memorij — muUiply this . 
number try 256 to find t}w actual load address. You should change this number 
only if you arc going to use bank switching as described in Ike article. The third 
yiiiinber, which rep^-esents the start address of the data as loaded in the Koala- 
Painter file, and the fourth number, ivhich represents the number of bytes to be 
stored minus one. should not be ehanged. 



by Dave Neale 

The other day I was sitting in front of my 
terminal wondering what sort of pro- 
gramming I could do to change the looks 
of one of my programs. I'd seen the multi- 
colour hi-res creations that have come out 
of the KoalaPainter program, and I 
thought, "Why not use those pictures to 
enhance programs?" After poking around 
for a while, I found that it is a lot easier 
than one might think. 

The first step is understanding how 
KoalaPainter stores all of the informa- 
tion for a multicolour hi-res screen in one 
40-block file. From the quick loader pro- 
gram in the KoalaPainter manual, I 
found that the 40 blocks include four sep- 
arate data storage areas. The first 32 
blocks are the actual bitmap data for the 
hi-res screen . Next come two 4-block sec- 
tions containing data for the video matrix 
(low-res screen memory) and colour 
memory areas respectively. These con- 
tain colour information for the multi- 
colour screen. The final byte of a Koala- 
Painter file is the background screen 
colour. 

Before you start fooling around with 
files you should ask yourself how you 
want to use the hi-res picture. You could 
put it in a loading program for a title 
page, as I did in my Star Trekking pro- 
gram, or use it as a background in some 
sort of game that uses sprites. What you 
choose will help you decide where to put 
your files for their best usage. 

If you just want to use one of your 
KoalaPainter pictures on the screen and 
not worry about video banking (we'll be 
getting into that later), you have to solve 
one little problem — that of splitting the 
compound KoalaPainter file into three 
files, each with its o\vn load address. Pro- 
gram 1 (see box) accomplishes this task for 
you. Make sure the disk with your Koala- 
Painter picture is in the drive when you 
run the program. 

All that's left now is to load the files, 
and to set up the video chip for multi- 
colour hi-res graphics. See Program 2 for 
an example of how to do this. 

The first line of the loader should 
always clear the screen and set the border 
and background colours, so set them ac- 
cording to the way the hi-res picture was 
created. Remember that the LOAD com- 
mand works differently in a program 
than it does in direct mode — after a pro- 



28 TPUG Magazine 



grammed load, execution resumes at the 
beginning of the program, not at the 
statement following the LOAD command. 
This is not a bug — it is designed to allow 
the chaining of BASIC programs. The 
function of the variable F in Program 2 
is to dodge around lines that have already 
been executed. 

Before you load your file into the low- 
res screen area, it's good practice to stop 
the screen scan. That way you won't get 
any garbage showing on the screen while 
the load is in progress. Line 20 in Pro- 
gram 2 accomplishes this. 

Lines 60 through 80 tell the computer 
to turn on multicolour hi-res mode, and 
set the address for the hi-res map. Note 
variable X in line 80, X is the offset within 
the current 16K bank to the bitmap 
storage area. Since we are loading our 
bitmap to address 8192 (8K, hex 2000) we 
set X equal to 8. 

The graphics loads completed, we 
switch the screen scan back on with line 
90. Now — assuming the graphics screen 
is a title page for another program — we 
load the main program in with line 100. 
Execution will begin with the first line of 
that program as soon as the load is 
complete. 

It's that simple. Now all that's left is 
to tell the VIC-II chip that you won't need 
hi-res graphics after the load is finished. 
Just start your main program with these 
lines: 



10 clr :pr in-t "<clr >":poKe 
<£.pace >53£S0rbordc : 
poKe 53281 rbacKc 

30 poKe 532G5,peeK ([53265 
)and233 : rem -turn off 
<space >3.cr een scan 

30 poKs 53265, peek <532e5 
)andE£3:rem -turn off 
<£pace>bit map graph! 
cs 

40 poKe 53272, (peeK (5327 
£ )and24B)or4:rem res-e 
t charac-ter data addr 
ess 

50 PoKe 53265, peeK (53265 
>orl6:rem turn screen 
<£pace>scari bacK on 

60 rem start of main pro 
gram 



Creating a simple loader program is 
fairly easy, but there can be a few 
drawbacks. If the main program is longer 
than 24 blocks, it will overrun the bitmap 
data area, causing your picture to look . . . 
a little different. There are two ways 
around this. The first, video banking, 
allows you to put the screen and bitmap 



way up in Bank 3, well out of the way of 
your main program. Since only Banks 
and 2 have character images available, 
you will have to create your owm 
character set and store it somewhere in 
that bank. The second method is reloca- 
tion of the start of BASIC. Moving the 
start of BASIC up to 16384 (hex 4000) 
will give you 96 blocks of RAM to use, 
with no risk of interference with the 
bitmap. 

Since it's an unfamiliar area to many, 
let's take a quick look at the steps 
necessary to switch video banks. With 
four banks (16K each) to choose from, you 
must find an area in one bank to hold your 
bitmap data. The banks are numbered 
to 3, with the default being bank 0. Here 
is a chart showing the memory that each 
bank occupies: 

Bank Memory Range 

3 49152-65536 (SCOOO-SFFFF) 

2 32768-49151 {$8000-$BFFF) 

1 16384-32767 ($4000-$7FFF) 

0-16383 ($0000-$3FFF) 

Since the VIC-II chip can only access 

16K at a time, you will have to put the 
low-res screen in the same bank as your 
bitmap. After you've chosen the bank to 
use, you switch it in by ORing a value into 
the two low bits of Port A of CIA chip 
#2. But first you should make sure that 
these bits are set for output. Though this 
is the default condition, better safe than 
sorry. It only takes one line: 

poKe 56578, peeK (56573)or 
3:rem confirm port a set 
<£pace>for output 



Now change banks: 

poke 56576, (peeK (5657G) 
and252)or (3-banK ) :rem pe 
rform banK switch 

These two lines should be added to the 
loader either before the data load or just 
after. Also, the bank must be switched 
back to the normal values before the main 
program starts running; use these two 
lines again in the added section of the 
main program. Don't forget to set the 
start address of each file to somewhere 
in the bank you choose (by altering the 
first number in the DATA statements of 
Program 1). 

With a little bit of practice, you can set 
up the system to allow switching between 
hi-res and low-res screens, or between 
several hi-res screens for an even better 
effect. The only drawback to screen bank- 
ing comes when you want to use the ROM 
image of the character data. Only Banks 
and 2 have this image, and if you 
wanted to use the Commodore characters 
you would have to transfer them into the 
bank you're using. Also, try to stay away 
from putting a graphics area on top of 
one of the ROM character images. 

Assigning areas of memory for 
graphics screens is an art as well as a 
science, and there are tradeoffs involved. 
With a bit of thought, you should be able 
to come up with an arrangement that fits 
the needs of your program. Luckily, col- 
our memory never moves from its area 
at 55296 (hex d800), and is accessible in 
any bank, so there's nothing to worry 
about there. Understanding graphics can 
improve your programs and impress your 
friends. Good tuck and happy 
programming. D 



f = i;pr int "<clr >" :poKe 53280 ,bord 

,bacKc 
f =2: poke 53265, peaK (53265) and 239: 

f screen scan 
f =3: load "bitmap data",S,i: 
f =4: 1 oad "screen char data",S,l 
f =5 : load "co 1 our ram data", 8,1 

eeK (53265 )or34:rem set bit map gr 

peek (53£70>andE£3)or 16:rem turn o 

ur graphics 

eeK(53£7£)or xsrem tell vie chip 

e to find bitmap data 

eeK (53£65)or 16:rem turn the scree 

on 
program" ,8,1 



This program unli load the three files created by Program 1 into the wppropriate 
areas of memory, then load and ■nm your main program. Remember to change 
the duvtmy filenames in this program to theJilenaTnes you have chosen. 



10 


if f=0 then 




c:poKe53£81 


20 


if f=l then 




rem turn of 


30 


if f=2 then 


40 


if f=3 then 


50 


if f=4 then 


60 


poKe53£65,p 




aphics on 


70 


PoKe53£70, ( 




n mu 1 1 i c 1 o 


80 


poKe53H7£,p 




<space >uher 


90 


P0Ke53265,p 




n scan bacK 


100 load "main 



June 1985 29 



Micro Processes. 



Keyboard Out 
Joystick In 



by Michael Quigley 

Many games written for the VIC 20, and a few for the Com- 
modore 64, use keys such as I, J, L, and M (up, left, right and 
down), rather than a joystick, to move objects around on the 
screen. I've always found this curious, since just about everyone 
I know has a joystick. 

Converting keyboard programs to joystick is not particularly 
difficult — you just have to know what to look for. Most of these 
programs use memory location 197 ('current key pressed') to 
direct the cursor, rocket ship or whatever, around the screen. 
Each key on the keyboard (except the logo key, the SHIFT keys, 
CTRL and RESTORE) has a value in this location when it is 
pressed. Type in the following two lines, type RUN and then 
press some keys. 



10 priirt peeK 
£0 goto 10 



<197) 



Try typing I, J, L and M, and note the values. They should be 
12, 20, 21 and 36 respectively on the VIC, and 33, 34, 42 and 
36 for the C-64. Note that when no key is pressed, the value 
is 64 on both machines. 

Now comes the detective work. Look through your program 
and try to find lines which are something like the following: 

100 if peeKU37)=64 then,, [no input! 

110 i-f peeK«:i37) = l£ then., [up] 

i£0 i-f peeK ■; 137)=£0 then., [le-ft] 

130 i-f peeK';i37)=£l then., [right] 

140 if peeK<137)=36 then., [doun] 

Since the results of pressing these keys vary from program to 
program, the four example lines here are purposely left in- 
complete. The first line, corresponding to 'no key pressed', may 
or may not be present. Of course, some programs also allow 
movement in only two directions, not four. In such cases, the 
lines for horizontal or for vertical movement may also be miss- 
ing. Another thing to watch for is if PEEK(197) is converted 
earlier in the program to a numeric variable, for example: 
P = PEEK(197). Then the lines above would read 100 IF P = 64 
THEN.. .", and soon. 

Now that you've found the place where keyboard inputs are 
interpreted, what is the magic joystick formula to use? It's as 
follows: 

goto 10! rem vie £0 uersion 

1 qq=37154!ql=3715l:q£=3715£ 

£ poKe qq, l£7:q=peeK<q£)andl£8 

3 r0=-Cq=0) 

4 poKeqq^£55:q=peeK (ql) 



B4 uers-ion 



5 d0=-( (qand8)=0) 
G 10=-( (qandl6)=0) 

7 u0=-((qand4)=0) 

8 fb=-<(qand3£)=0) 

9 return 



goto 10: rem commodore 

1 q=peeK (5G3£0> 
£ r0 = <:<qand8)=0> 

3 d0=C(qand£)=0) 

4 10=C(qand4)=0) 

5 u0=((qand n=0) 
G fb=<(qandl6)=0) 
7 return 



This standard routine should be placed somewhere in your pro- 
gram, preferably at the beginning to speed things up. The line 
numbers can be changed if you wish. Notice that I have used 
some variable names that suggest the direction they will take 
— UO for 'up', Do for 'down', and so on. Be sure that none of 
the variables in the joystick formula are the same as those 
already in your program, otherwise things will get really messed 
up! 

Now go back to those lines you found earlier — the ones for 
interpreting keyboard input. Make the following changes: 



or 10 or d0 or r0 o 



'no input 



100 gosub 1 : if u0 
r fb then 110 

105 rem perform action for 

110 if u0 then , . . [up] 

1£0 if 10 then. . . [left] 

130 if r0 then ... [r ight ] 

140 if d0 then , . . [down ] 

The new line 100 first GOSUBs to the joystick subroutine. If 
a joystick input is made, it jumps to line 110, where the input 
is decoded and acted upon. If nothing happens (the equivalent 
of PEEK(197) = 64), then the 'no key pressed' routine, if any, 
may be accessed in line 105. 

In the last couple of examples, we've used a new variable, FB, 
for 'fire button'. This input may not be needed, but if it is, the 
process for making the conversion is analogous to the cases we 
have already discussed. 

Another way in which keyboard inputs are handled on the VIC 
and C-64 is with a GET statement. Assuming we are using 'S' 
for fire, T for up, 'J' for left, 'L' for right, and 'M' for down, 
a typical keyboard checking routine might look like this: 

100 get q$ 

110 if q*="s'' then 1000 [go to fire b 

utton rout ine ] 
1£0 if q*<>"i"andq*<>".j "andqtO"! "and 

q*<>"m" then 300 [no input] 
130 x=x + ":q$="j ")-(q$="l ) [determine h 

orizontal direction] 
140 y=y+(q*="i ")-(q*="m" ) [determine 

<space >uert ical direction] 



30 TPUG Magazine 



Micro Processes: 



Here's the same routine, converted for joystick operation: 

100 gos.ub 1 [go to joys-ticK -formula] 
110 i-f -fb then 1000 [go to fire butto 

n rout ine ] 
128 if u0+10+r0+d0=0 then 300 [no inp 

ut3 
130 x=>c + <10)-(r0) [determine horizont 

al d irect ion ] 
140 y =y + (u0) - (d0 ) [determine vertical 

<space >d irect ion 3 

I find using a joystick highly preferable to groping around the 
keyboard, and if you're really lazy, there's yet another trick to 
be learned. Instead of the usual keyboard input to rerun a 
program: 

100 print "pi ay again? Cy/n)" 

110 get a*: i-f a*<>"y"and a*<>"n"thenl 

10 
120 if a$="n"then end 
130 if a*="y"then run 

try the following: 

99 rem v ic £0 

100 print "play again? press fire but 
ton" 

110 wait 37137,32 
120 wait 37137,32,32 
130 run 

99 rerf^ commodore 64, port #1 

100 print "play again? press fire but 
ton" 

110 wait 145,16 
120 wait 145,16,16 
130 run 

99 rem commodore B4, port #2 

100 print "play again? press fire but 
ton" 

110 wait 56464,16 
120 uait 56464,16,16 
130 run 

With this routine, your hands need never leave your joystick, 
except when you want to stop the game with 
RUN/STOP-RESTORE! □ 



The Better Way 



by Chris Johnson 

Is there a better way to set off sections of a program in listings? 
The usual method is to enclose REM statements in asterisks. 
They take up a lot of space and they don't really stand out that 
much. 

A much better way is to put your REM statements in reverse 
type: they really stand out, whether listed to the screen or to 
a printer. Try it some time. 

But how? The BASIC screen editor will strip out a reverse 
video code from your REM, no matter how hard you try to fool 



it. To get what we want, we'll have to bypass the screen editor 
and poke the code (whose PET ASCII value is 18) directly into 
BASIC program space, specifically into the byte following the 
REM token. 

The following program is a BASIC loader that will poke a 
machine language routine into memory. A SYS to the location 
of the routine will put your REMs into reverse at machine 
language speed — that is, quickly! 

The REM statements at the beginning can be your first test 
of the routine. You cannot put REMs into reverse from the 
keyboard, so when you have typed in this program (and have 
saved it, to be on the safe side), run it and save a copy with 
reversed REM statements. 

The machine language itself can be put anywhere in memory 
that you choose. Simply change the value of S in line 9. (C-64 
utilities such as Power or Basic Aid use the cassette buffer as 
a workspace, so 49152 might be a better location.) 

You can use this routine to put codes other than RVS into 
your listings. If you wanted the comments to appear on a new 
line, you could have the routine insert a 13 (carriage return) in- 
stead of an 18 (RVS). Run the loader, then type POKE S + 81 ,13. 
Now SYS to the starting location, and the text after your REM 
statements will start a new line. 

This loader was created with Datacheck (from TPUG 
Magazine, May 1985), a program that creates a BASIC loader 
with a checksum at the end of each line. If you make a mistake 
in typing, the ehecksimi will catch it, stop the program and tell 
you the number of the line containing the mistake. D 





1 

2 
3 



re 

re 
<1 
re 
re 
ua 
re 



5 
6 

7 

8 
9 

10 

11 

12 



re 
re 
re 
<1 
re 
s 
f 
f 
n 
i 
< 
1 
c 

P 

e 
P 
r 
P 



13 
14 

15 

16 

17 s 
828 

836 

844 



paces >: 

m<2 spaces >h ighl ight your rems 
2 spaces > : 

m<33 spaces >: ' 

m<2 spaces >to change machine lang 
9e<5 spaces): 

rfi<2 spaces >1 oc at ion , change walue 
pace>of '£'<2 spaces): 
m<£ spaces >in line 9<2£ spaces): 
m<33 spaces >: 
m<2 spaces >by chris Johnson 

5 spaces > : 
m<33 spaces >! 
= 828 

ori= £ to i + 95 step8 

or.j =0to7:reada : poKe ■; i+.j ) ,a :c=c +a! 

ext.j:read cs 

f c< >cithenpr int "<2 dDun>error in 

space>l ina"; i:forz=lto25:a=ab£Ca- 

5) :poKe54296,a:next :stop 

=0:next i 

rint "<clr><7 down) to put reyers 

rems into your program, 
rint tab (6) "<douin>load your prog 
am and type : 
rint tab CIS) "<douin >sy£" s " 

6 down)" 
nd 

data<2 £paces>165, 43, 56, 233, 1 

, 133, 25, 165, 821 

data<£ spaces)44, £33, 0, 133, 26 

, 169, 0, 141, 746 

data<£ 5paces.)153, 3, 1R0, 5, £30 

, 25, 208, 2, 786 i 



June 1985 31 



Micro Processesj 



852 data<£ spacer >£30, £6.. 136, E0S , 

<ipare>e47, 1S0, 0, 177, 1134 
860 d*i:a<£ spacas>£5, £08, 1£, £33, 1 

53, 3, 173, 153, 965 
868 d3.-t:a<£ spaces >3, £01, 3, £40, 47, 

<s.pace>£08, ££7, 140, 1069 
876 data<£ spaces >153, 3, £01, 143, £ 

40, £, £08, £8, 878 
8S4 data<£ spaces >165, £5, £4, 185, 1 

, 133, £7, 165, 645 
S3£ dai:a<£ spaces >£G, 105, 0, 133, £S 

, 160, 0, 177, 6£9 
900 da-ta<£ spaces >£7, £08, 5, £33, 15 

3, 3, £03, 4, 846 
308 da-l:a<£ spaces) 168, 18, 145, £7, £ 

30, £5, £08, 187, 1019 
916 data<£ spaces >£30, £6, £08, 133, 

<space>8G, 0, 0, 0, 753 
3£0 rem\£ spaces >'jers ion 3, 1£ may IS 

85 < 7 spaces > : 



INTERFACE 




shield 



12-wayO 156" 
double-Elded 
edge connecior 



12-wayO 156' 

double-sided 

edge connector 



Talking to 
Other VICs 



by Mark Hookins 

Is your VIC 20 feeling a bit lonely? Teach it to talk to other VIC 
20s, using a simple program and a couple of connectors! 

The interface described below makes use of the RS 232 com- 
munication facility provided on all VIC 20s. However, you do 
Twt need the RS 232 cartridge in order to make it work. 

Things you will need 

In order to try this experiment, you will need two 12-pin 
double-sided 0.156" edge connectors, a metre or two of figure 
8 shielded cable, and — of course! — a second VIC 20, These 
are cheap enough now that everyone can afford two, but if you 
can't, talk a friend into bringing his or hers. 

What to do 

Wire the connectors exactly as shown below, then carefully plug 
one into the user port on the left-hand side of each VIC 20, 
Next, tj'pe the following program into each computer, and then 
SAVE it on tape or disk (be careful to include the semicolons 
at the end of lines 130 and 160): 



100 
1 10 
1£0 
130 
140 
150 
160 
170 



open £,£,0,chrf (6)+chr*< 1G0> 

get m$ 

140 



i-f m$="" then 
pr- irit#E ,rn*.! 
9ettt£,y* 

if >■$="" -then 170 
pr int y'$f 
gc-tc 110 

Now RUN the program on both computers. It doesn't seem 
to do much, does it? Well, try pressing some keys on one com- 
puter: do they appear on the screen of the other? To get 
characters to appear on your screen, you'll have to t\^e them 
on the keyboard of the other VIC 20' Confused yet? 

32 TPUG Magazine 



This is like a telephone, only you read the other person's 
words, instead of listening to them. 

You could increase the length of the interface cable to several 
metres and have the VIC 20s in different rooms (a computer 
'intercom'!) 

With this sel-up, you can also try the following. Press 
RUN/STOP on one computer only, and type in this line (no line 
number necessary): 

cmd4 : 1 ist 

Now hit RETURN, and watch the screen of the other VIC 20. 
You should see the listing appear on the screen. 

To make the listing appear on your screen, type the follow- 
ing line (again, use no line number): 

pr in-t**£ 

Now hit RETURN. Then type LIST, and the listing will appear 
on your screen. 

Program Explanation 

For those of you who are interested, here is a brief explanation 
of how the program works. 

Line 100 opens a channel to the RS 232 port (device 2), set- 
ting the format and baud rate. In Line HO, a character is fetched 
from the keyboard and printed to the RS 232 port by Line 130 
(if it is not a null character). Line 140 fetches a character from 
the RS 232 port and Line 160 prints it to the screen (if it is not 
null). The process repeats for further characters. 

For those of you who want to know more about the RS 232 
port ami files, the Programmer's Reference Guide (pages 251 
to 2fi()) will prove useful. D 



C-16 and Plus/4 library disks 

Much of the Iriendliness oi the C-128 (see page 18) has been 
available for some lime in the BASIC 3 5 on the C-16 and Plus/4. 

Many programs in the TPUG library can be converted easily to run 
on the C- 1 6 and Plus/4. If you have done this, please submit the 
conversion to the TPUG library. We hope to announce at least one 
combined C-16 and Plus/4 disk in the next issue of TPUG 
magazine. Original programs are encouraged, too. of course. 

Chrts and Colin Johnson. C-16 and Plus/4 librarians 



COMAL 

REFERENCE GUIDE 

Sixty-four pages outlining all the C64 COMAL 
keywords, with sections on the language's superb 
String Handling, Procedures and Parameters, 
Expressions and Standard Functions. $9.95 



; COMAL 




by Dorge R. Christensen 

With it terewoid by im fkJtterfieW 



Send cheque or money order to: 
TPUGInc, Dept. A., 1912 Avenue Rd., Ste. 1, 
Toronto, Canada M5M 4A1 



NEW FOR HIGH SCHOOL 
ADMINISTRATORS 

IF A STUDENT WANTS TO 
CHANGE HIS TIMETABLE . . 
CAN YOU DO IT? 



y^^s 



sov^' 



K^\ 




The WYCOR Class Scheduling 
System lets you: 



Add new students, change existing timetables. 

Checks all available classes, class sizes. 

Displays 32 best timetables that minimize class sizes. 

Lets YOU pick the timetable. 

Prints the new timetable. 

Updates class size. 

Prepares a teachers change list. 

Other reports available. 



yS 



WYCOR BUSINESS SYSTEMS 

170 The Donway West, Suite 401 
Toronto, Canada M3C 2G3 
Tel. (416) 444-3492 




QQ 



Limited time offer 

SSDD-$15.00/box 

DSDD - $20.00/box 

(Minimum purchase - 5. Delivery extra.) 



Programmers Guild Products Ltd., 255 ManuLife Place, 10180-101 St., 
Edmonton, Alberta T5J 3S4 Phone: (403) 428-6229 



Switch 

to the highest 
quality, lowest 
priced brand name 
diskettes available 
in Canada. 

Q. Who has switched? 

A. Professional and educational 
institutions, national accounting 
firms, major engineering firms, 
software houses, computer 
retailers and the Toronto Pet 
Users Group. 




(MattwCardj 



Library Additions. 



TPUG's library of public domain soft- 
ware groivs month by month. Hundreds 
of disks containing thousands of pro- 
grams are available to TPUG members at 
the nominal cost of ten dollars per disk. 
Considering that each disk is packed xoith 
good programs, at today's software prices 
this is a fantastic value. 

In order for the library to keep grow- 
ing, our librarians need a constant supply 
of new programs. If you have written a 
program or a collection of programs that 
you think might be an asset to the libi-ary, 
please send it to: TPUG Program 
Library, 1912A Avenue Road, Suite 1, 
Toronto, Ontario MoM 4.AI, Canada. If 
yom' contribution is accepted you will be 
sent the library disk of your choice. 



Commodore 64 April 
Disk: (C)TI 

This disk has lots of interesting stuff. As 
promised last issue, Directory 
Assistance appears here, along with in- 
structions. This program will let you do 
just about anything you could ever want 
to do to the directory of a disk. Remem- 
ber, this is a freeware program, so please 
send the author what he requested if you 
like the program. 

Adventure game fans vM enjoy Diplo- 
mat's Dilemma, It, too, is freeware, and 
is very challenging. I have played it for 
a while, but I always seem to fall into a 
pit or get captured. 

There are a number of interesting disk 
utilities as well. One allows you to search 
an entire diskette for any combination of 
characters; another will compare the con- 
tents of two disks; another will allow you 
to compare the contents of two files, I 
think you'll find them useful. 

A few months ago some local talent put 
together quite a demo program. It plays 
music, it manipulates sprites, and it does 
a mean moon walk too! I could say more, 
but this program must be experienced. 

For you game players who have been 
looking for a very different type of game, 
Ghoul Dogs is here at last! Make sure you 
read the instructions that have been in- 
cluded on the disk or you will miss a lot 
of what is going on. 

Watch also for the adventure game 
disk, (C)GG. which should be out by the 
time you read this. Anyone that even 
slightly enjoys adventure games will want 



it. Luckily I was able to get my only copy 
away from TPUG's resident adventure 
game enthusiast, Marya Miller, and get 
it to the copying complex before she had 
worn the disk out. 

By the way, I recently met a very inter- 
esting TPUG member from Burnaby, 
British Columbia. I was out there watch- 
ing the National 5 Pin Championships, 
and he happened to work at the alley that 
I was hanging around. It turns out that 
he has developed some very interesting 
software to keep track of bowling league 
statistics. If this application interests you, 
feel free to write to: Doug Jewell, c/o 
Lougheed Lanes, 4199 Lougheed HWY, 
Burnaby BC, V5C 3Y6. 

The re-organization of the older disks 
is coming along and should be finished in 
time for the conference — which will be 
over by the time your read this. Watch 
future editions of the magazine for details 
about these new disks. 

Presented by David Bradley 
PET April Disk: (P)TI 

This disk features several educational 
programs with a geological flavour. Geo- 
Weather is a geographic weather quiz; 
Marine Erosion uses graphics to model 
shoreline erosion; and Open Pit Mine is 
a game in which you try to open pit mine 
the Athabasca oil sands. This game in- 
cludes cave-ins, floods, and other prob- 
lems, such as pollution costs. 

Business programs this month include 
Graph SprintSO, a utility for drawing and 
editing graphs on your MT Sprint 80 
printer; Loan Payments v2.8, a program 
to calculate interest paid and current 
balance under non-uniform pajTnent 
schedules; and Receipts. 8, a program to 
print and record customer deposits. 

Those whose printers have program- 
mable character and image buffers will 
be able to define their own character sets 
with Printer Char.8, while FX-80 
Fonts.8 will help in setting up print con- 
trol codes and selecting print fonts on the 
Epson FX-80 printer. With TapeLabler 
you will have a convenient way to print 
cassette tape content lists. 

Two specialized utilities for specialized 
people are Guitar Frets, for calculating 
fret positions when you're setting up your 
own guitar; and Payload V2, which 
assists you in calculating the fuel con- 



sumption and flying time with reserve of 
your airplane. And when you're finished 
with those jobs, why not take a break 
with Groan, a game in which you roll dice 
against the PET, 

Once again om- monthly disk has a free- 
ware offering. This one is called Archi- 
iiiedes. It's a set of programs, for junior 
high school teachers, dealing with Archi- 
medes principle. Six lessons are includ- 
ed. They can be run on either the 
PET/CBM computers or the Commodore 
64. Complete instructions and a teachers' 
guide will also be found on the disk, along 
with a message from the author. 

Presented by Mike Donegan D 



Marketplace 



COMPUTER RENTALS 

We buy, trade, sell and repair Com- 
modore computers. 



1541 alignment 


$ 39-00 


Power for CBM 


$ 75 


Box of 10 disks 


% 15.99 


4040 or 8050 Drive 


S995.00 


MSD Dual Drive 


S799.00 


WordPro 4+ for CBM 


$125 


Visicalc for CBM 


SI 50.00 



• Database Manager for CBM $150.00 

COMPUTER RENTALS 

250 Consumers Rd., Suite 101 

Willow/dale, Ontario M2J 4V6 

Tel; (416) 495-0035 



Attention Educators! 



If you have developed quality educalional 
software, but Ituve neither (he liii!e./ior iii- 
clinaiion for production and marketing, — 
WE CAN ASSIST YOU! 

Our catalogue, consisting exclusively of 
educational software, is distributed to 
libraries, schools and Boards of Education 
ihrougtiout Canada. 



Contact us for more information. 



TRALCO 
EDUCATIONAL 
b'^ SOFTWARE 

lion I-. thuiiilloii. Oniario t')C 5.S.1 
(416) .1R3-|()7S 



34 TPUG Magazine 



416-782-9252 



Name_ 



Street Address . 
City/Town/P.O. . 
Province/ State 
Postal/ZIP Code 



SOFTWARE ORDER FORM 

TORONTO PET USERS GROUP 

1912A Avenue Road, Suite 1 

Toronto, Ontario 

M5M 4A1 

^ Membership No. 



416-782-8900 



_ Telephone 



DISKS 

To order club disks by mail, send $10.00 for each 4040/2031/1540/1541 disk (4040 format), and $12.00 for 
each 8050/8250 disk {8050 format). We do honour purchase orders from school boards. 

These disks are for use with a computer and a disk drive. 

Please send me the following: 

3 Letter/No. 4040 or 8050 

Code Description Format Price 



Total 



.00 



TAPES 

To order VIC 20 or Commodore 64 library tapes, send $6.00 for each tape. 

To order PET/CBM or Commodore Educational Software, send $10.00 for each tape 

These tapes are for use with a 



If for a PET computer, what model 



3 Letter/No. 
Code 



Description 



computer and a datasette. 
- BASIC- 1.0( ), 2.0( ), 4.0( )? 

Price 



Total 



.00 



The prices indicated include postage and handling as well as Ontario Provincial Sales Tax (if applicable). 
D Cheque/money order enclosed (payable to TPUG) □ VisayMastercard # 

Expiry date Signature 



Reviews. 



Flexidraw 4.0 

and Flexifont 

from Inkwell Systems 

Light pen and 

associated software 

for Commodore 64 



Review by Dave Neale 

Flexidraw, the interactive light pen and 
software package by Inkwell Systems of 
San Diego, opens up a whole new area of 
graphics for the Commodore 64. Flex- 
idraw combines simplicity with state of 
the art hardware to produce superb high 
resolution pictures. 

When I first saw what Flexidraw was 
capable of doing, I thought that it would 
take quite a while to pick up some of the 
advanced features of the system. I 
couldn't have been further off track. 
Flexidraw comes with the best documen- 
tation I have ever seen for any piece of 
hardware or software. The 64 pages of 
the manual are filled with simple and easi- 
ly read explanations, as well as detailed 
pictures of almost every function of the 
system. The Table of Contents is com- 
prehensive, allowing you to zero in on any 
area of confusion. A glossary of terms 
rounds out the manual nicely. 

The Flexidraw Master Disk is double- 
sided, and contains several graphic 
manipulation programs. These include 
Flexidraw 4.0, the main drawing and 
design program; Pen Palette, for coloui-- 
ing Flexidraw creations; Transgraph, 
for transmitting Flexidraw files via 
modem; Sprite Editor; Sprite Animator; 
Display Picture, a printer dump pro- 
gram; and Follow Me, a game. 



The main program, Flexidraw 4.0, 

di%'ides the screen into two areas: the 
Work Area and the Menu. Unlike other 
systems where you have to switch back 
and forth between screens to change 
modes, Flexidraw neatly packs 
everything onto one screen. The package 
of commands or modes available allows 
you to do virtually anything with the stan- 
dard hi-res screen. Thanks to a 'djTiamic' 
menu system, only the currently ap- 
propriate modes are displayed. The many 
options include: Pixel, Grid, Draw, Point, 
Rubber. Sketch, Spray, Arc, Circle, 
Ellipse, Box, Line, Invert, Crosshair, 
Zoom, Fill, Shade, Copy, Paste, Test, 
With, Over, Rotate and Flip. 

Many options are powerful and im- 
aginative. Grid, for example, allows 
shapes and text to be placed only at 
character block locations, which makes 
neat design work much easier. Rubber 
mode creates a rubber-banding effect 
between two points on the screen. This 
lets you move the free end of the line 
around the screen till you find the posi- 
tioning you want. Sketch produces a con- 
tinuous line, while Spray activates only 
the occasional pixel, allowing you to use 
the light pen as an airbrush. Crosshair is 
important if you want images to line up 
across the screen, horizontally or vertical- 
ly. Copy and Paste allow you to move a 
block of the screen from one position to 
another. 

As with most systems, two work areas 
are available at a time. Flexidraw goes 
one better, though, by allowing you to use 
a split screen effect (horizontally or ver- 
tically) to have the screens overlap one 
another. This effect helps to produce one 
large hi-res screen, which can then be car- 
ried over to the printing option to allow 




immff rv!^^ \i^^ I iRwtJca 



iL%%«m m «■■■«■■■ ^la 




imin BHJDCE: U55 EnTERFEVJSE 

LOOKING TO PORT - LONGITUDIN^J. 



you to produce a quality high resolution 
printout of virtually any size. The Flex- 
idraw Master Disk contains several 
printer files, and I was told by a represen- 
tative of Inkwell that they will create or 
supply any file not presently available on 
the disk. 

Inkwell Systems has released another 
program, for use with Flexidraw, to help 
create custom fonts. Called Flexifont, 
this utility is used with the light pen to 
design your own fonts, special characters 
or symbols. Included on the disk are 
thirty-three different fonts. As with 
Flexidraw, Flexifont's manual is very 
well laid out, and there should be no dif- 
ficulty getting to know the system. 

I found the system extremely easy to 
use. The only drawback I came across 
was during the Zoojn mode. I found it 
sometimes difficult to activate an in- 
dividual pixel without simultaneously ac- 
tivating others nearby, causing a bit of 
frustration. This problem may have been 
caused by static electricity; the Flex- 
idraw manual does recommend wiping 
the screen off occasionally with a damp 
cloth to prevent the build-up of charge. 

Flexidraw 4.0 and Flexifont are 

available from: 

Inkwell Systems 

P.O. Box 85152 MB 290 

7677 Ronson Road 

San Diego, CA 92138 

Telephone (619) 268-8792 D 



Eduniate Light Pen 

with 

'Peripheral Vision' 

drawing program 

from Futurehouse 
for Commodore 64 



Review by Mike Martin 

Copyright '■ 1983 Jftlike Martin 

The Edumate Light Pen is an inexpen- 
sive data input device that reads the 
monitor and plots the position of the pen 
against the screen. This makes it possible 
to use the pen, in combination with 
suitable software, as an alternative to the 
keyboard or a joystick for interacting 
with the computer. The device plugs into 
joystick port 1. 



36 TPUG Magazine 



Revlewsj 



The pen includes severai demonstration 
programs that work quite well. They in- 
clude a Menu program that uses the light 
pen to select from your directory. Due to 
the large boxes to aim the pen at, only 
four programs are listed on the screen at 
one time. Long directories seem even 
longer. A Tic-Tac-Toe game is included, 
a drawing program, and a simple, but im- 
pressive musical scale program display- 
ing about six octaves. Touching the spot 
next to the note plays it, but no provision 
is included for playing or saving actual 
songs. A Disk Utility program is includ- 
ed for using the light pen to scratch, 
validate or format a disk. While all the 
programs work well, their usefulness is 
questionable. To use the pen, you touch 
it to the screen, then hit either the Com- 
modore or f7 key to activate the pen. 
Most menu programs have you touch one 
key to load the program anyway. I don't 
see an advantage . , . 

The light pen works with several 
children's educational games, but is cur- 
rently being marketed with a powerful 
machine language art program. While the 
art program is outstanding, the light pen 
is more of a problem than an advantage. 
Peripheral Vision is an icon-based draw- 
ing program in which the icons, or pic- 
tures, are accessed by the light pen. That 
part works well. The drawing part has 
problems. The sixteen colours are 
displayed across the top of the screen. 
Touch one with the light pen, and you 
draw in that colour. Touch the brush 
width on the bottom of the screen, and 
cycle through six widths. Point the light 
pen at the centre 'drawing pad' part of 
the screen, and hold down the Com- 
modore or f7 key to draw. But just try 
drawing an accurate line or curve 
freehand on the screen, Draw too fast, 
and you will leave gaps. Even drawing 
slowly will leave some gaps, as much as 
half an inch in width. Matching up the 
position of the pen to fill those gaps is 
almost impossible. Luckily, you can touch 
the Microscope icon, and magnify any 
portion of the drawing eight times to 
clean up the sketch pixel by pixel. In the 
Microscope mode, the lines are wide 
enough that you can draw fairly accurate- 
ly, and scroll any direction using the cur- 
sor keys. 

Other icons on the bottom screen row 
access disk load/save, print, mirror image 
draw, sensitivity, move, shapes, fill, let- 
tering and textures. The program will 
plot squares, triangles, and almost-circles 
for you. The fill feature includes a 
safeguard. If the area is not totally 
enclosed, it won't fill, but will indicate 
where the fill would leak out. You then 



use the microscope feature, and block the 
opening. It plots lines — even jagged lines 
— but if you try to use the same point for 
another line, chances are you won't hit 
very close to your target. You can use all 
the letters, numbers, and Commodore 
graphics characters, but you must cycle 
through the entire set to find the one you 
want, then use the light pen to position 
the letter and hit the Commodore or f7 
key. How accurate is your spacing and 
alignment? You can't reach any of the 
characters through the keyboard. And 
the manual warns that when you save a 
drawing, you are limited to 8 characters 
in the title, and the program doesn't read 
the z,c,b and m keys. 

Probably the most interesting and 
useful feature offered is the Texture icon. 
Point to this, and cycle through 35 tex- 
tures. You can use them to fill a shape, 
or draw with them in the six standard 
brush widths. The textures are a set size 
and spacing, but include provisions for 
creating up to six of your own at a time, 
and saving them to disk. You don't ac- 
tually draw the tex-tures, but reveal them, 
so multiple strokes of the brush will con- 
tinue the pattern from the previous 
stroke, not create a new strip. Brushing 
a second texture over the same spot 
won't combine the two, but the new tex- 
ture will replace that portion of the first 
one. The textures include things like 
pinstripe lines either horizontal or ver- 
tical, bricks, cross-hatch lines, dots, and 
fabric-like textures. They are beautiful, 
and even offer the choice of a primary 
and secondary colour against the 
background colour. One interesting effect 
demonstrated by the program is cross- 
hatch white lines against a blue sky, pro- 
viding very effective clouds. This is a 
medium-resolution program using Com- 
modore's multicolour mode, which offers 
more colour but less resolution than stan- 
dard hi-res mode. 

Besides the accuracy and placement 
problems, the plastic light pen has a 
shielding problem. Static electricity nor- 
mally found on your screen will be picked 
up by the pen, and cause strange effects. 
Every third or fourth line 1 drew would 
include a spike. While drawing across the 
screen, suddenly the line would zip up 
about ten centimetres, and back down, 
continuing with my line. I can't begin to 
describe the feeling this gives about the 
fifth drawing it ruins. The manual is brief, 
and not very detailed. Instructions are 
included for using the drawings in your 
own games and programs. 

Given all the problems, I find that this 
program is more like a set of 'High-tech 
Crayons' than a serious drawing pro- 



gram. This is a pity, since the actual pro- 
gram is brilliant. Its only flaws are caus- 
ed by the light pen. If only Futurehouse 
would include the provision of using a 
joystick and cursor along with the light 
pen, it would have a real winner. D 





Write Now! 




from Cardco 


Word 

for 


processing program 
the Commodore 64 



Review by Michael Quigley 

Gardco's Write Now! 64 word processor 
is very similar to their like-named pro- 
gram for the VIC 20, which I reviewed 
in the May 1984 issue. 

Some improvements have been made, 
including: 

• An Insert Mode, which makes it much 
easier to put copy in the middle of 
previously typed text. 

• An 80-column pre\iew mode, useful for 
correcting errors in formatting before 
text is sent to the printer. 

• The choice of four different screen/text 
colour combinations. 

• The ability to generate multiple copies. 

• A 'mail merge' feature that allows you 
to generate form letters with different 
names, addresses, etc. 

• A non-destructive directory that pauses 
with the CTRL key. 

• Four 'help' screens listing most of the 
program's formatting commands. 

Some of the VIC 20 version's features 
have not undergone a successful trans- 
ition. The joystick is supposed to be able 
to scroll copy, but it doesn't work in 
either C-64 port. Copy is saved with func- 
tion key F3, and loaded with F4, which 
can lead to disaster. And the program's 
tab positions are only across the 
40-column width of the screen. 

There are a few bugs, as well. A line 
beginning with a period won't be printed, 
because the program recognizes it as a 
'dot command', used for sending special 
information to the printer. The at-sign 
{'@') should not be used when saving copy 
to tape, since it is used as an end-of-file 
marker, and any copy after it will be lost. 
And, when using tape, prompt messages 
sometimes don't appear, since they are 
the same colour as the screen. 

These problems aside, Write Now! 64 
is easy to use, has excellent recovery from 
operator errors and is reasonably friend- 
ly. Like the VIC 20 version, I recommend 
it for the user who needs a good 'basic' 
word processor. D 



June 1985 37 



Revlewsj 



HomePak 

from Batteries Included 

integrated word processirng, 

data base management 

and communications 

package for Commodore 64 



Review by John Easton 
HomePak, by Russ Wetmore, Star 
Systems Software, Florida. Price: $49.95 
(US), $69.95 (Cdn.) 

HomePak, the latest of Batteries' grow- 
ing list of 'homeware' (for a growing list 
of computers), is a remarkably powerful, 
unusually 'friendly' package — combin- 
ing at a reasonable price three of the 
most-used home-computer applications. 
There is no spreadsheet in the package, 
perhaps because one is available in 
another fine Batteries Included release, 
CalKit. 

Since HomePak is aimed to a great ex- 
tent at the 'beginning home user', I de- 
cided that there was no better way to test 
it than on my fearless (sounds safer than 
'computer klutz') wife, Muriel. Until we 
got an SX 64, Muriel hadn't really shown 
much interest in computers at all. Now 
she's trying her hand at Data Base 
Management, courtesy of HomePak. 

HomePak is user friendly (perhaps 
even idiot friendly), and well-documented 
with over 60 pages of text and illustra- 
tions. The documentation makes easy 
reading, and tutorials lead one painlessly 
through the various packages. Well, 
almosl painlessly. Muriel had a dickens 
of a time trying to find keys labelled (as 
the text indkated) CTRL B and COM + 
(remember, she's a real novice) and I left 
her absolutely alone to make this a fair 
test. Finally, once I translated those cryp- 
tic labels, she was away. 

HomeText, the word processor, is 
definitely not PaperClip, but for simple 
use and handy help windows, it certainly 
is friendly. HomeText files are saved in 
a non-standard format, but a utility pro- 
gram is supplied that will translate the 
files to ASCII or PET ASCII, and vice 
versa. This should ensure compatibility 
with nearly all other word processors. 

Screen formatting is fun to watch. In- 
stead of wrapping around the right 
screen margin, lines are broken at a word 
boundary for easier reading. And speak- 
ing of screen formatting, should one 
desire to get some idea of the ultimate 
printer output, page by page output to 
the screen (in hi-res dots and dashes) will 
provide a vague picture of how the text 
will look when it finally is sent to paper. 
Text is stored in a 13,728 byte buffer, 



which compares quite favourably with the 
capabilities of most other C-64 word 
processors. 

HomeFind is a very unusual, query- 
oriented data base manager. Those used 
to 'proper' DEM programs will find this 
one maddeningly slow, but for my wife 

— who up to now had thought DBMS was 
a new type of toothpaste — it makes ab- 
solute sense. It operates almost like the 
venerable Animal guessing game, in that 
as you tell it new information, it 
remembers it — complete with friendly 
questions and prompts. 

Now, HomeFind obviously knows what 
records, fields and keys are, but it never 
lets on to the user. As a matter of fact, 
it never discloses anything to the user 
about its files — they seem to be private. 
A directory of the data disk reveals only 
its apparent emptiness — 664 Blocks 
Free at all times — a mite dangerous 
unless this disk is prominently identified. 
A quick attempt to see what was really 
on the disk gave me the strange reply 
that it started at track 75. Not being into 
Disk Doctoring, I leave it at that. It is 
possible to make a readable (at least by 
HomeText) file from within the program 

— but this mainly gives one files linked 
to query requests, perhaps useful for 
something like merging addresses into a 
form letter. 

Let's look at how queries work. There 
are three parts to every bit of informa- 
tion one wishes to record. 'Subject' refers 
to your main reference (and would pro- 
bably form Key Field 1 in your average 
DBMS); 'Tag' forms a linked reference to 
your subject; and 'Object' is for whatever 
information you wish to preserve that 
pertains to the previous two. These three 
parts cannot be more than 80 characters 
each in length, and the entire record (oops 

— make that 'line' or 'entry' — remember 
this is a friendly program) cannot be 
more than 144 characters. 

How about an example — straight from 
the manual? So you want to keep a list 
of birthdays and other important stuff 
about all of your friends? 

We'll just start 'entering' the 
information: 

mike's birthday's april 18, 1958 
mike's favourite colour's blue 
mike's car's a honda 
mike's phone's 929-9909 (home) 

. . .and so on. 

During each new entrj', your computer 
will either confirm or deny that this is 
"news to me!", allowing both corrections 
and new information to be entered at ran- 
dom. If, in the case of a correction, we 



were to enter mike's favourite colour's 

red, the computer replies with, mike's 
favourite colour was blue, add or 
change? a/c. At which time you may pro- 
ceed accordingly, or simply touch 
RETURN to abort the operation. Such in- 
terchanges are encouraged by friendly 
messages from the computer like never 
mindl, and thanks! 

Now, for information retrieval. Ask 
who's mike?, and you'll get the whole 
kaboodle back. Narrow it down to what's 
mike's car?, and voila, mike's car's a 
honda. You can even shorten queries to 
single words: what's car's? or merely 
car — and you'll get a complete list of all 
the cars the machine knows about — in- 
cluding mike's car's a honda. 

Now, if you've been watching closely, 
you'll notice the secret of these entries 
— the magic delimiter is 's, which 
sometimes tends to strange grammar, 
but to Muriel's way of thinking is perfect- 
ly sensible, 

HoraeTerm is a very complete terminal 
package, bilingual in ASCII and C-64 
dialects, with built-in Vidtex (Com- 
puServe) and X-Modem transfer pro- 
tocols. Status displays, and even a real- 
time clock, are constantly available for 
reference, and a complete set of macro 
commands is no more than a control key 
away at all times. Of course, one may 
upload or download programs or text via 
built-in buffer transfer to disk or printer. 
An added feature, which won't show its 
real value til! you're involved in on-line 
conferencing, is the ability to split the 
screen, allowing incoming conference 
messages to scroll merrily above you, 
while you carefully compose a brilliant 
reply in your own workspace. A very 
complete introduction to using 
HomeTerm on the CompuServe system 
is included as an appendix. 

Summing up, HomePak is a fine collec- 
tion of useful and friendly programs! In 
most cases, an entire help menu is no fur- 
ther away than the nearest function key. 
Now, if I could only get Muriel away from 
the SX long enough to write this review! 
Have I lost a computer or gained a wife? 
Thanks to Batteries Included and Russ 
Wetmore for a completely enjoyable 
product! 

PS: A (rumoured) minor bug in the 
X-Modem transfer protocols (necessary 
for most up/download of program files on 
CP/M type boards and Delphi) has been 
fully corrected by Russ Wetmore, 
HomePak's author. If you have an early 
version of HomeTerm, and have ex- 
perienced difficulty, contact Batteries 
Included (or this writer) for the 'real 

stuff! n 



38 TPUG Magazine 



Rev lews J 



Wiztype 

from Sierra On-Line 

Typing tutor 
for the Commodore 64 



Review by Marya Miller 

Put it this way: this is the first typing 
tutor of any nature that I have been able 
to stick with. In other words, I have 
finally learned to touch-tj^pe, after (blush) 
ten years of business and literary 
experience. 

Years ago, I taught myself to type 
using seven or eight fingers and 
telepathy. I was pretty pleased with 
myself at the time, but soon discovered 
that I could never type faster than 45 
words per minute, using this system. I 
tried correspondence courses, night 
school courses and manuals, in a 
desperate attempt to learn to touch-type 
properly, all with the same result: I soon 
slipped back into my old seven-fingered 
habits. 

Then (as the commercials say) I 
discovered Wiztype (lured by my enjoy- 
ment of the Wizard of Id comic strips). 
I can now touch-type at 60 words per 
minute and climbing . . . 

It's actually fun learning to tjTse with 
the Wizard, the evil Spirit and Bung the 
Jester to help you. The colour and 
graphics are good, the sound effects very 
appropriate, and the entire package 
skilfully laid out and presented. Sierra 
has put a lot of care into Wiztype, and 
it has paid off. 

Using Wiztype is more like playing a 
very good game than learning a skill — 
whether you are just practising drills, 
words or paragraphs, or playing The 
Game itself. 

The Game is for real. Your score is 
entered onto the disk each time you 
tackle it, and every time you load Wiz- 
tjTie, you see a graph showing your pro- 
gress at The Game (and therefore your 
progress at learning to touch-type). 

There are lots of nice little extra 
touches to this package. I'll only tell you 
one, though, so you can have the fun of 
finding out the others yourself. When you 
successfully complete a level of The 
Game, the Wizard and the Spirit tell each 
other corny jokes — using cartoon 
balloons, of course — while your score is 
being put on disk. 

Incentive, while learning with Wiz- 
type? Well, for one thing, it doesn't do 
you much good if you try to type using 
any other system — it's set up so that 
touch-typing is the best way to go. And 
if you (shudder) fail to type in your words 



correctly within the time limit (while ch-ill- 
ing or playing The Game), the Wizard 
gets an agonized look on his face and the 
Spirit begins to gloat . . . Oops. Within 
seconds, the evil Spirit has promptly fi-ied 
the Wizard to a little black heap of 
cinders. Definitely fun. 

Maybe if my typing teachers had been 
able to fry me into a little black heap of 
cinders, I'd have learned to touch-type 
loiiLi; ago. I 




Sky Travel 

from Commodore 

'Home Planetarium' 

for Commodore 64 



Review by Nick Sullivan 

On May 28, in the year 585 BC, the war- 
ring armies of Alyattes of Lydia and the 
Mede Cyaxeres wtnessed a rare event — 
a near total eclipse of the sun. As the 
moon's shadow swept across the battle- 
field, the frightened soldiers abandoned 
the hostilities, and the warring kings 
were compelled to make peace. Predic- 
ting the eclipse also advanced the reputa- 
tion of Thales of Miletus, the philosopher, 
statesman, businessman and mathemati- 
cian known in later years as one of the 
Seven Wise Men of ancient Greece. 

A couple of hours ago I travelled to the 
Aegean for a quick look at the sky on that 
fateful afternoon, and saw the eclipse for 
myself. It was around five o'clock — 
already the sun was nearing the horizon. 
Soon after five, the moon began to en- 
croach on the sun's disk, taking a small, 
crescent bite from the sun's lower right 
quarter. More and more of the sun was 
covered from that point on, except for a 
short time towards five thirty when the 
motion of the eclipse appeared briefly to 
reverse itself. The time of maximum 



eclipse began some fifteen minutes later. 
At this point, the sky was quite dark — 
it was easy to imagine that Alyattes' and 
Cyaxeres' men might been hampered in 
skewering each other on account of 
visibility, in addition to their superstitious 
awe. Quite a long time later — fifteen or 
twenty minutes, perhaps — the moon 
began to slide off the sun's right shoulder, 
and the sky gradually lightened again. By 
six thirty or so, the show was over. 

I do not know whether conditions were 
actually dark enough in ancient Greece 
for Thales and his contemporaries to view 
the stars and planets while the eclipse 
was in progress. I myself had no trouble 
with the observational conditions, and I 
was able to see at a glance that three 
planets — Mercury, Mars and Jupiter — 
were grouped very close together just a 
little above the sun and to the south; 
Saturn was somewhat higher in the sky, 
but still nearby. Stranger still, the re- 
maining four planets — Venus, Uranus, 
Neptune and Pluto — were at the same 
time huddled together in an even tighter 
group about thirty degrees below the 
horizon. 

What do you need to take a journey 
such as the one I have just described? A 
time machine? A doctorate in math- 
ematics? A planetarium? 

Not any more. All you need nowadays 
is a Commodore 64 system and an inex- 
pensive program called Sky Travel, writ- 
ten by Frank Covitz and Clif Ashcraft, 
and distributed by Comm jdore. 

We have all looked up at a starry sky 
at some point in our lives, and felt awe 
at the infinitude of stars, and the limitless 
depths of the universe. Multiply that by 
the vastness of time, from ten thousand 
ye~'s before Christ to ten thousand years 
after, and multiply that by the expanse 
of the earth's surface. This is the territory 
that Sky Travel brings home to your 
Commodore 64. 

It is a long and complicated program, 
heavily computational, and the data files 
in which it stores the universe occupy 
most of a disk. The math required to 
display and to scroll a hi-res screen full 
of celestial bodies is frightening — the 
sort of thing you would expect could only 
be done by programmers who were half 
computers themselves. Yet Sky Travel is 
friendly, sometimes even witty. 

You select (by cursoring around on a 
Mercator map) your vantage point on the 
Earth's surface, fine tuning the latitude 
and longitude with on-screen readouts if 
you desire. You choose your moment in 
history — year, date and time of day — 
with an easy-to-use numerical display. A 
few seconds of calculation tick by, then 



June 1985 39 



Revlewsj 



the sky appears. 

The major constellations of stars are 
marked with lines in the traditional way, 
and their names are given, though you 
can turn off the lines, the names or both, 
with a couple of keystrokes. The planets 
are shown as symbols, rather than star- 
like dots of light, for easy identification, 
but you can easily cancel that feature 
also. If you want to see deep-space ob- 
jects, such as other galaxies and nebulae, 
you can call them up. If you want to find 
a particular planet or constellation, it is 
done in an instant. If you want informa- 
tion about an object, it's yours in a mo- 
ment. You can change the rate of passage 
of time, or its direction. You can adjust 
your viewing angle to suit your needs, 
from wide angle to telescopic. There is a 
chart mode, a printer option and a facili- 
ty for tracking the planet of your choice 
as it wanders through the sky. 

And there is a fly in the ointment. 1 saw 
Sky Travel, including the excellent 
manual, on sale at a computer fair recent- 
ly for twenty Canadian dollars. Unfor- 
tunately, there were no copies remaining. 
Nor, as far as I can te!l, is the program 
yet available anj'^vhere in Canada, despite 
its having been in Commodore's hands for 
a full year. Now that Commodore seems 
to have decided to give up the software 
publishing business altogether, the future 
of Sky Travel for the C-64 seems uncer- 
tain. At the same computer fair, by the 
way, the program was being 
demonstrated for Atari under the name 
of Home Planetarium. 

Anyway, keep your eyes open. Sky 
Travel could find its way into your 
favourite computer store. If you are even 
a little bit interested in astronomy, snap 
it up. It is a unique program, and you 
should have it. D 



The COMAL 

Handbook 

(Second Edition) 

by Len Lindsay 

Reston Publishing Co. 

467 Pages 

Price: $25.95 (Cdn.) 



Review by Donald Dalley 

In the Commodore world, there are few 
examples of legitimate copies of any pro- 
gram spreading faster and more widely 
than the COMAL 0.14 language has done. 
The original 'COMAL SAMPLER' disk 
for the C-64 is freely copyable; as a result, 
most user group libraries include it. This 
successful ploy teased thousands into at 



least giving COMAL a chance. Within one 

year, an enormous number of public do- 
main programs were in circulation! 

The first edition of the COMAL Hand- 
t)ook, covering the earliest versions of the 
language, was the main reference to 
guide these ambitious programmers. This 
edition was helpful, informative, and 
necessary to read, but there were some 
problems and additions requiring an up- 
dated edition. 

Two major differences stand out bet- 
ween the two editions. The new book has 
about a third more pages and the spine 
is perfect-bound, instead of plastic-hinge- 
bound. Two problems arise from the lat- 
ter change: the book will not lie flat and 
will need controlling, usually with one of 
the typing hands; and the glue holding the 
pages together breaks down, eventually 
leaving you with a mess of loose pages. 

Because COMAL is not stagnant, the 
Handbook had to go through extensive 
revision as well. Except for a mention in 
the introduction, all references to earlier 
releases of COMAL have been removed. 
Only the CBM 0.14 and 2.00 versions are 
covered. This simplifies the text 
immensely. 

The introduction explains some of the 
history of COMAL, the standardized Ker- 
nal, and version differences. It also goes 
into details about using the standardized 
format of the text, special notes for 
greenscreen CBM machines, and a brief 
'getting started' section, among others. 
You must read the introduction first to 
understand some features of the 
language and the book. 

The main body of the Handbook is 
dedicated to the description of over 140 
keywords arranged alphabetically. Each 
word has its own page(s) devoted to ex- 
plaining its use. An improvement here is 
that each side of the page header has the 
keyword in bold print for easier page flip- 
ping. Next, the category (command, 
statement, function, operator, and so on) 
is specified. Some kej^vords have more 
than one category, and each is described 
separately. If the word is part of the Ker- 
nal a [YES] is given, if not, a [NO]. This 
is handy for those who wish to write pro- 
grams for other computers. How fully the 
keyword is implemented, if at all, is in- 
dicated in simple code form for both CBM 
versions. This is useful for those with the 
cartridge who wish to write programs for 
the owners of only the disk version, and 
vice versa. A clear, concise description of 
the rules for the keyword's use follows, 
along with notes usually naming limita- 
tions or restrictions. 

Next are four very useful parts. The 
syntax is described in precise detail giv- 



ing all parameters! If you want to take 
full advantage of COMAL's power, this 
is a necessary list. Next, to make things 
clear, there are one-line examples of the 
keyword in context. The variations are 
useful and informative. A sample pro- 
gram further clarifies the use of the 
keyword in context. To show the results 
of the program, output from a run is in- 
cluded. This is where one of the dif- 
ferences from the original edition is made 
apparent. The first edition had typeset 
syntax, program listings and sample 
runs. These were clear and easy to read. 
In the revision, narrow dot-matrix print 
has been used, reducing legibility. 

The importance of the book lies in its 
design and usability. You can find what 
you want, when you need it. If you make 
a mistake, you can find out why your idea 
was not allowed. No extra words get in 
the way of what needs to be explained. 
Len writes the way manual authors 
should. Like COMAL itself, the second 
edition of the COMAL Handbook is 
exemplary. D 



Traitex 64 

from Logiciel 

Vision Software 

French language 

word processing program 

for Connmodore 64 

and disk drive 



Review by Gerry Gold 

Traitex 64 International ($1^9.00 with 
Dictex. $99.00 uiithoulDictex. $29.00 for 
the English language dictionary. Logiciel 
Visio^i Sofiiva7-e, 218 Alexandre, Sher- 
,brooke, PQ, JlH iS7, Canada. 

In Quebec, Jacques Lebrun's adaptation 
of Professional Software's WordPro and 
the Traitex program are synonymous 
with professional microcomputer word 
processing. For this reason alone it is a 
joy to recommend this program, which 
combines WordPro commands with the 
Fleet System 2 program. Unlike other 
word processors, which may write in 
French but communicate only in English, 
Traitex accepts its instructions enfran- 
fats. If you need WordPro or PaperCIip 
command compatibility, then RUN/STOP 
CTRL Y enables standard English com- 
mands in your document. 

Traitex has lots of strong features. For 
instance, it is available with a 200,000 
word (no, that's not a misprint) French 
dictionary to which 40,000 more words 
(correct again) can be added in a user dic- 
tionary. Moreover, almost 300 blocks 



40 TPUG Magazine 



Revlewsj 



remain on the protected dictionary disk. 
As if that were not enough, the full 
Traitex can also be purchased with Fleet 
System 2's 70,000 word English dic- 
tionary. The French dictionary loads at 
5,000 words per minute (from a 1541!) 
and offers dynamic spell-checking and 
other features from within the program. 

Convenient WordPro featui-es, such as 
extra text, form letters, file merging and 
on-screen calculations, are all part of 
Traitex, which also offers many unique 
features. The Traitex keyboard on the 64 
is convenient, and maintains a high 
degi-ee of compatibility with versions that 
run on Commodore PET computers. 

Printer options, screen colours, device 
numbers and printer interfaces are all set 
up in a convenient install file that offers 
a wide array of printer choices. It is im- 
possible, how'ever, to change these 
features while the program is operating. 

Cursor movement and on-screen com- 
mands are rapid. As witli many of its 
rivals, Traitex supports printing to the 
screen in either 40 or 80 columns. At star- 
tup, users can choose an 80 column or 120 
column screen that scrolls sideways as 
text is entered. Personally, I would rather 
write and edit in 40 columns, as it is 
easier to catch errors when you see the 
entire text. Switch to 80 columns when 
the text is written and edited. 

Another minor proljlom is that Traitex 
retains some of the weaknesses of Word- 
Pro. A directory, for example, can only 
be called by erasing the file in memory. 
A carriage return erases everj,1;hing to 
the right of the cursor. There is no on- 
line help command. Also, Traitex, like 
earlier versions of WordPro, and like 
PaperClip, does not offer word-wrap 
(words wrap around the screen). Another 
missing feature is the column manipula- 
tion and sorting ability of PaperClip. 

WordPro-compatible commands are a 
plus, but do be careful. CLR will invoke 
the command Memorise, Endisque. Inter- 
cole . In this program Memorise invokes 
recall, not memorize. Failure to observe 
that difference could be disastrous. Also, 
Traitex creates a USR file that is incom- 
patible with standard w^ord processing 
files used by outfits such as TPUG 
Magazine. I wrote this document with 
Traitex; printed it to disk as a sequen- 
tial file; read it into PaperClip and then 
edited the quotes and line feeds! 

This is, however, the first fast and full- 
featured French language word pro- 
cessor that I have used. Since this may 
be what you need or what you have 
already purchased , do not forget to send 
your registration card to Vision Soft- 
ware, who support w^hat they sell. D 



Adventure 
Construction Set 

from Electronic Arts 

Graphics adventure 

construction set 

for Commodore 64, 

1541 disk drive and joystick 



Review by Marya Miller 

There are two words I never want to see 
on my computer screen again — Access- 
ing Disk. 

Unfortunately, if you use Adventure 
Construction Set, you will see them a lot. 
You will spend long, wearisome minutes 
— hours, even — waiting for your com- 
puter to stop Accessing Disk. Most of the 
time, too, you can't go off and do some- 
thing else while all this accessing is go- 
ing on, because you have to be there to 
do frequent disk swaps. Tlie only time you 
can leave the computer at it is when your 
adventure is finally being constructed. 
Then the screen tells you: "The adven- 
ture will be ready in about 37 minutes" 
or so. 

Before you get to this blessed stage, 
however, you will have sat through so 
many disk swaps and accesses that your 
thoughts are vaguely occupied with 
penance, suffering and vegetation. There 
are lots of disk swaps and accesses merely 
to load the sample adventures. 

The sample games are nicely 
presented, and Rivers Of Light and 
Deep Dank Dungeons in particular are 
fun to play; but when it comes to a 
'tutorial', the manual has one on how to 
play these sample adventures, rather 
than on how to construct one yourself. 
Oh, it is full of information pertaining to 
constructing a game, but it doesn't start 
at A and end up at Z. It kind of flings you 
into a maelstrom of enthusiastic facts and 
leaves you to flounder your way out 
again. 

After many hours and many odd things 
happening, I did manage to create a 
reasonable adventure game, but the pro- 
cess is rather like Russian roulette, if you 
let the ACS disk have anything to do with 
it. You end up with regions, characters, 
objects and pitfalls that you didn't expect 
to see in your game. WTiich can be rather 
fun, mind you; though bewildering to 
simple souls like me. 

If you do everj'thing yourself, the crea- 
tion part is even more fun but, if you're 
anything like me, it won't work properly 
and you'll end up biting your table leg and 
whimpering (after all those gruelling 
hours of labour). 



The packaging is lovely, and the illus- 
trations in the manual are pleasing. The 
disk label gives the command line for 
loading the program — a minor point, but 
helpful, vvhen you have the instructions 
for forty -odd different disks rolling about 
your mind. The graphics are okay — 
though the characters are a bit small and 
hard to see — and the available music and 
sound effects are excellent, but put it this 
way: I'll let you know how Adventure 
Construction Set and I are getting on in 
about six months or so. 

Fun, if you can stand the length of time 
everything takes and the user inactivity, 
but definitely not for neophytes. D 



Adventure Writer 
from CodeWriter 

Text adventure 

construction program 

for the Commodore 64 



Review by Marya Miller 

Unlike Adventure Construction Set, 
Adventure Writer actually claims on the 
front page of its manual: "Your own pro- 
gram — the first time you try!" 

Bah! Phooey! Humbug! It's table-leg- 
biting time again. 

There is a sample adventure for you to 
play and one to construct. This latter 
comes in place of 'Steps from A to Z'. The 
idea, I think, is that by constructing the 
adventure along with the book, you learn 
to do it by ex-perience. An excellent idea, 
and one of the best ways I know of learn- 
ing but — alas! — it bombs out, here. 

I dutifully did the sample game con- 
struction; got foggj' about the status table 
and vocabulary action table, and did it 
again. Aha! Excellent! Understood it 
perfectly. Then I mapped out a five- 
location game of my own, very carefully, 
and tried that. I got hopelessly mixed up 
on the status and vocabulary action 
tables. Several hours later, I finally got 
things straight, but I certainly wouldn't 
have done so if I hadn't already had some 
experience in writing adventure games in 
BASIC. 

I liked Adventure Writer better than 
Adventure Construction Set because, 
for one thing, there were no endless 
hours of disk swapping. There is more 
user participation here, too. 

This construction set is handy if you 
want to save a lot of time on standard 
programming sections, but I found that 
BASIC was still my best bet, if I wanted 
to do anything very imaginative. 

Not only that, but BASIC was also a 
heck of a lot quicker! □ 



June 1985 41 



Reviews: 



Zork and 
Enchanter 

from Infocom 

Text adventure games 
for the C-64 



Review by Michael Bonnycastle 

If you've only got twenty minutes or so 
to play one of these games, don't. These 
programs are an experience, and if you 
get involved with them, you'll be up till 
all hours of the night. To truly figure 
them out will take sixteen to forty hours 
or more of elapsed time. Fortunately, you 
can save a game part way through, and 
return to it later. You'll need to do this 
several times, in order to progress 
through an entire episode. Sometimes, 
they can be extremely frustrating, and 
you'll think you're stuck, ho you save the 
game and go to bed. At 4 am you'll wake 
up and think, "I haven't tried tkis. . . or 
maybe that approach will work. . ." — 
and sure enough, you're off and running 
again, 

WTien it works, it's a terribly rewarding 
experience, and even more so if you can 
work out the problems yourself. Some- 
times, however, a simple hint from a 
friend who's been there will get you going 
again, when you've been stuck for several 
days; or you may return to a section that 
you haven't visited for a while and — 
because you've solved a problem some- 
where else, or you've read a page from 
a book at the other end of the game — 
the solution to this section suddenly 
comes to mind like a stroke of genius. 
These games are a fascinating experi- 
ence, and must be tried to be beheved. 

\Vritten by Infoeom's principal authors 
who were involved in writing the original 
Adventure (see Jim Butterfield's article 
elsewhere in this issue), these programs 
are much more sophisticated, clever and 
involved than Adventure. (The original 
Adventure is on TPUG library disks 
(C)M,5 for the C-64, and {0)G7 for the 
PET.) Adventure allows j'ou to move in 
various directions, pick up objects and 
throw axes at nasty dwarfs. Zork allows 
you to interact with a pirate, and En- 
chanter has you teaming up with a not 
always cooperative adventurer from 
another game. In Enchanter, your suc- 
cess depends not on acquiring treasure, 
but on your ability to find and use spells 
to defeat the evil wizard, Krill. In fact, 
to succeed at Enchanter, you must use 
your understanding of avarice in the 
adventurer. 

42 TPUG Magazine 



FHirely and simply, these games are 
puzzles. You must figure out how to suc- 
ceed, using the tools available to you. 
With Zork, you may get things, drop 
things, attack nasties with a sword or 
knife, turn knobs, use wrenches and 
screwdrivers, and there is even an in- 
flatable raft that you can blow up with a 
hand pump. You can get only so far using 
simple commands, but to advance to the 
end you must figure out how to open the 
floodgates on the dam and drain the 
reservoir, as well as performing other 
complicated, interrelated tasks with a 
series of tools. The sequence of events 
surrounding obtaining the diamond is as 
bizarre a set of moves as I have ever seen, 
yet they all make sense. 

In Enchanter, the spells you need in 
order to win ai-e found on scrolls and can 
be 'learned' when you need them, but 
once you cast them, they are lost from 
memory. Some spells can be written into 
your spell book first (using the GNUSTO 
spell) — these you can use several times. 
Other spells are too complicated for you 
to GNUSTO, and so can only be cast once. 
There are several treasures in this 
episode (such as an incredibly orn- 
amented and bejewelled egg), but they 



have other, more important uses than 
that of mere treasure. You must figure 
out how best to use them. iVIy favourite 
portion involves a series of passages 
vrithin the depths of the castie, a map and 
a magic pencil. When you draw on the 
map with the pencil, a passage appears; 
by erasing a line on the map, the cor- 
responding passage will vanish. This is 
very useful in avoiding a particularly 
nasty monster. 

Other games in the series that I have 
not played yet include Zork II, Zork III 
and Sorcerer. I am anticipating many 
hours of enjoyment when I tackle them, 
but I do not want to start them pre- 
maturely. I will wait until I have lots of 
time to devote to their particular type of 
entertainment. 

These games are not for the faint of 
heart, and they require a lot of staying 
power to get through. I don't recommend 
them for youngsters, as they retiuire a 
fair bit of sophistication to solve (although 
my 12 year old enjoys wandering around 
them without really being able to solve 
the entire puzzle). Infoeom's games are 
well worth the time and money you invest 
in obtaining them and figuring them out. 
Good luck! a 



BAID64 

A new utility and basic aid Jor your C64 

60 new commands including many of tfie BASIC 4.0 disk commands. 

Do graphics without peeks and pokes and having to remember all those memory 

locations. Commands such as HLINE, DRAW, HPLOT, MOVE, TEXT and 

HPRINT. 

Sprites, sound and screen commands get rid of the tediously long command 
lines. Just type in the note (E#, Gb, F, etc) or state the colour (COLOR 1 ,2,3.) or 
locate a sprite (SPRITE [num[x,y]). 

Function keys are allowed - there is a built in screen dump (text or graphics) ~ 
type lines 120 characters long. 

15 additional BASIC commands including RENUM, TRAP, 
AUTO, HUNT, HELP, DEL, CHANGE 

ALL THIS AND MORE AT A PRICE OF $49.95 (Ont. residents add 7% sales tax) 

PHONE (416) - 677-8200 AND WE WILL ACCEPT YOUR M/C OR VISA OR 
SEND THE COUPON. WE SHIP PREPAID 
ANYWHERE IN CANADA WITHIN 24 HOURS. 

NAME 

STREET 

CITY 



PROV. 
M/C 



_P.C. 



VISA 



NUMBER 

SIGNATURE. 



C.P.U.ELECTRONIC SYSTEMS CORP. 
2652 SLOUGH ST., 
MISSISSAUGA, ONT, L4T3T2 
TELEPHONE (41 6) - 677- 8200 



special prices for schools and dealers 



Products Received 



The following products have been received 
by TPUG Magazine in recent weeks. 
While we do not have space to review them 
in this issue, we would like to describe 
them briefly in order to bring them to our 
readers' attention. Please Jiote that tliese 
descriptions are based on the manufac- 
turers' own announcemeyits, and are 7iot 
the result of evaluation by TPUG 
Magazine. 

Fantastic Filer 

Fantastic Filer from SourceCode 
Technologies, 424 East John Street, 
Lindenhurst, NY 11757, distributed by 
Micro-W Distributing Inc., P.O. Box 113, 
Butler, NJ 07405. Price: S29.95 (US). 

Fantastic Filer is an all-purpose data fil- 
ing system for the Commodore 64 and 
1541 disk drive. It allows the user to 
create an average of 1000 records per 
disk, each record containing up to 256 
characters, vAth a maximum of 50 fields. 
Records can be edited, updated or 
deleted. The user can search for records 
by record number, index match or by 
specific search criteria. 

A five function calculation routine is 
built into Fantastic Filer, and the pro- 
gram will automatically perform the 
calculations between fields specified by 
the user when creating the original layout 
of a record. 

This new version of Fantastic Filer in- 
cludes another program called Fantastic 
Forms, which enables the user to 
generate columnar reports and prepare 
mailing labels. 

VizaStar 

VizaStar from Viza Software, Brompton, 
Kent, UK. Distributed in Canada by The 
Soft Warehouse, P.O. Box 1983, Win- 
nipeg MB, Canada R3C 3R3 by direct 
mail only, and in the US by Solid State 
Software, 1125 E. Hillsdale Blvd. Suite 
104, Foster City, CA 94404. Price: 
3189.95 (Cdn.); special introductory offer 
to TPUG readers S179.95 (Cdn.). US 
price: $119.97. 

VizaStar is an integrated Spreadsheet, 
Database and Business Graphics program 
designed to " . . . bring Lotus 1-2-3 power 
to the Commodore 64". Created by the 
UK's Kelvin Lacy, VizaStar has sold well 
in Europe since July 1984, and is now 
released in North America. 



A user-friendly menu system makes 
VizaStar easy to use. The 64,000 cell 
spreadsheet permits the opening of up to 
9 simultaneous 'wdndows', to overlay dis- 
tant sections of the spreadsheet onto the 
working screen. Access between the 
Spreadsheet, Database and Graphics pro- 
grams is immediate, and data can easily 
be moved between these integrated func- 
tions. A powerful execution facility allows 
the user to 'program' any routines neces- 
sary to automate their specific application 
for VizaStar. Data storage and retrieval 
on disk is provided, with immediate inter- 
rupts and directory searches possible at 
any time. 

VizaStar is written in 100 per cent 
machine language. It is totally resident 
in memory during use, and is compatible 
with many printers and interfaces. Direct 
output of printer control commands gives 



■iEim Sheet File P.rint.....l!a.t.»..,..6,r»Eh.. 

Fo)^^JaU^"Prm^ 

Display, tong 




VizaStar screen with several windows. 

even greater flexibility. Import/Export 
routines also make it possible for Viza- 
Star to exchange information with 
Easyscript, WordPro, PaperClip, HES 
Omniwriter and many other programs. 

C-64 Encyclopedia 

The Co7nmodore 6Jf User's Encyclopedia 
from The Book Company, 11223 S. 
Hindry Avenue, Los Angeles, CA 90045. 
Price: $14.95 (US). 

The Book Company has published a whole 
series of encyclopedias for different com- 
puters, including this one for the Com- 
modore 64. According to the authors, the 
Encyclopedia "... does not offer detailed 
coverage of the internal electronic details 
of the C-64. It does, however, provide a 
complete reference on BASIC program- 



ming, general operation of the computer 
and its accessories, and available prod- 
ucts." The entries in the book cover the 
following aspects of using the C-64, and 
computing in general: 

• Definitions of general microcomputer 
terminology, concepts and abbreviations. 

• Explanation of BASIC programming, 
including BASIC statements and com- 
mands as separate entries. 

• Information on the internal structure 
and operations of the Commodore 64. 

• Brief descriptions of other programm- 
ing languages: FORTRAN, COBOL, 
Pascal, etc. 

• Description of software packages and 
hardware accessories. 

C-64 Programs for the Home 

Commodore 6i Programs for the Home by 
Charles D. Sternberg, published by 
Hayden Book Company Inc., 10 Mul- 
holland Drive, Hasbrouck Heights, NJ 
07604. Price: $15.95 (US). 

This book is intended for two groups of 
users: first-time buyers who don't want 
to spend extra money on software, and 
those who would like to learn BASIC pro- 
gramming by typing, running and mod- 
ifying program listings to suit their 
needs. 

There are forty BASIC program list- 
ings in eight chapters. The programs 
cover basic household needs in financial 
planning, recording and retrieval of 
payments, telephone numbers and main- 
tenance costs, as well as in expense plan- 
ning, and helping children with school- 
work. To close the list, there are also util- 
ity programs relating to outside activities 
and recreation. 

Each listing is preceded with a descrip- 
tion of the program, instructions on how 
to use it and how to ent-i. ^he data, notes 
and things to check. Then follow the pro- 
gram listing, sample data, a sample run 
and a major symbol table. All programs 
are designed to run using the datasette. 
However, they can be easily modified by 
those who own a disk drive, and wish to 
store programs on diskettes. To help 
readers modify the programs, as well as 
improve them, the author has included 
Appendix A — Language Features Used 
and Appendix B — Converting Programs 
for Floppy Disk Usage. 

Presented by Astrid Kumas G 



June 198S 43 



TPUG Associate Clubs 



CANADA 

C64 North Bay Users Group (Ontario) meets at Cassellholms 
on Olive St. on the first Wednesday of thie month at 7:30 pm. 
Contact Matt Vaulour 705-474-5692, 

Chaleur Commodore Club (New Brunswick) meets at the 
District School Board. Dalhousie, on the third Wednesday of the 
month at 7:00 pm. Contact Terry Traer 506-684-4852. 

Commodore Owners of Muskoka (Ontario) meets at fvlacAulay 
Public School, Bracebridge, on the first Wednesday of each 
month at 7 pm. Contact Mike Wilson 705-645-6300, 

Edmonton Commodore Users Group (Alberta) meets at Ar- 
chbishop Jordan High School. Sherwood Park, on the last Fri- 
day of each month at 7 pm. Contact Bob Kadylo 403-465-3523. 

Fredericton Commodore Users Group (New Brunswick) 

meets in Room 105, Administrative Building second floor, at Saint 
Thomas University, on the third Wednesday of each month at 
7:00 pm. Contact John W, Palmer. Comp 53, Site 1 5 Castle Acres 
SS#3. Fredericton, NB, E3B 5W9, 

Gueiphi Computer Club (Ontario) meets at Co-operators In- 
surance Assoc, on the second Wednesday of each month at 7:30 
pm. Contact Brian Grime 519-822-4992, 

London Commodore Users Club (Ontario) meets at Althouse 
College of Education, main auditorium on the third Monday of 
each month at 7 pm. Contact Dennis Trankner 519-681-5059, 

Niagara Commodore Users Group (Ontario) meets at Lakeport 
Secondary School, St, Catharines, on the first Ivlonday of each 
month at 7.30 pm. Contact Ian Kerry 416-688-6464. 

Sarnia C64 Users Group (Ontario) meets at Lambton College 
on the first Sunday of each month at 7:30 pm. Contact J.C. 
Hollemans 519-542-4710, 

Saskatoon Commodore Users Group (Saskatchewan) meets 
in Room 2C02, Engineering Building, University of Saskat- 
chewan, on the last Friday of each month (except June, July and 
December) at 7:00 pm. 

Commodore Users Club of Sudbury (Ontario) meets at Lasalle 
High School in the cafeteria on the last Thursday of each month 
at 7 pm. Contact Tim fvliner 705-566-9632, 

PET Educators Group (Windsor, Ontario) meets at Faculty of 
Education Building. 600 3rd Concession, Windsor, on the third 
Wednesday of each month (not July and August) at 7 pm. Con- 
tact John Moore 519-253-8658, 

Winnipeg PET Users Group (IManitoba) meets at Gordon Bell 
High School, Room 228, on the first Wednesday of each month 
at 7:30 pm. Contact W,P.U,G.. P,0, Box 4096, Station B, Win- 
nipeg, MB, R2W 5KB, 

UNITED STATES 

Boston Computer Society/Commodore Users Group meets 
at Minute Man Tech High School, Rt 2A (just off Rt 1 28). in Lex- 
ington, MA, every second Monday of the month at 7 pm, Con- 
tact Harvey W, Gendreau 617-661-9227, 



C-64 Users Group, Inc. (Chicago, Illinois): seven chapters meet 
at 7:00 pm. Northwest Chicago (Logan Square) on the first 
Tuesday; River Grove on the first Wednesday, Des Plaines on 
the first Thursday: Park Ridge on the second Monday: Caiumet 
Park on the second Tuesday; Westchester on the second 
Thursday; Southwest Chicago (Garfield Ridge) on the second 
Fhday: Evanston on the third Wednesday, For exact locations 
and changes, contact Darrell Hancock 312-588-0334, or David 
Tamkin 312-583-4629, 

Commodore 64 Owners of Petaluma (California) meets in the 
multi-use room. La Tercera School on the third Thursday of the 
month at 7:00 pm. Contact Robert Hermann 707-762-1376, 

Commodore Computer Club of Toledo (Ohio) meets at Bed- 
ford Administration Building on Temperance Rd,, between Lewis 
and Jackman Roads on the second Friday of each month at 7:30 
pm. Contact Jim Cychler 419-475-9160, 

Commodore Houston Users Group (Texas): Clear Lake 
Chapter — Nassau Bay City Hall, NASA Road #1 . on the first 
Wednesday of each month at 7 pm. Central Chapter — Far- 
rish Hall, University of Houston main campus. NW Chapter — 
Bleyl Jr, High School. 10.000 Mills Road (Cypress-Fairbanks SD). 
on the third Thursday of each month at 7:30 pm. Klein Chapter 
— Hildebrandt fvliddle School. 22.800 Hildebrandt Road (Kiem 
ISD), on the third Tuesday of each month (except July & August) 
at 6:30 pm. Contact Mary F, Howe 713-376-7000, 

Commodore Users Society of Greenville (South Carolina) 

meets at the Greenville National Bank, Community Room. 10 
Pleasantbury Drive. Greenville. SC, on the last Thursday of each 
month at 7.30 pm. 

Genesee County Area Pet Users Group (IVIichigan) meets at 
Bentley High School on Belsay Rd. on the third Thursday of each 
month at 7 pm. Contact Gordon Hale 313-239-1366. 

Greater Omaha Commodore 64 U.G. (Nebraska) meets at 
South Omaha campus of the Metropolitan Technical Communi- 
ty College, 27th and Streets in Room 1 20 of the Industrial Train- 
ing Center, on the first Thursday of the month at 7 pm. Contact 
Bob Quisenberry 402-292-2753. 

IVIanasota Commodore Users Group (Florida) meets at the 
Florida Power and Light Building, Bradenton, on the second and 
fourth Thursdays of the month at 7 pm. Contact Robert O. Bron- 
son 813.747-1785, 

IMAT-SU Commodore-64 Club (Alaska) meets at the Alaska 
Computer Systems store, Wasilla, on the third Thursday of each 
month at 7 pm. Contact Terry Maw 907-376-7508. 

Michigan's Commodore 64 Users Group meets at Warren 
Woods High School in Warren, on the third Tuesday of each 
month at 7 pm. Call 313-773-6302. 

IMohawk Valley Commodore User's Group (New York) meets 
at the Clara S. Bacon School in Amsterdam, at 7 pm on the se- 
cond Tuesday of the month. Contact William A. Nowak 
518-829-7576. 

Mountain Computer Society (Sandy, Utah) meets at Murray 
High School on the second Thursday and last Tuesday of each 
month at 7:00 pm, Contact Dennis Senior 801 -566-5593, or Don 
Jones 801.967-6641. 



44 TPUG Magazine 



TPUG Associate Clubs 



Russellville CUG, Inc. (Arkansas) meets at Oakland Heights 
Elementary School on the third Thursday of each month at 7:30 
pm- Call 501-967-1822. 

Sacramento Commodore Computer Club (California) meets 
at Kit Carson High School, on the fourth Monday oi each month 
at 7 pm. Contact Geoff Worstell 916-961-8699. 

S.C.O.P.E. (Dallas, Texas) meets at U.T.D,, Erik Jonnson 
Building (Corner Floyd & Campbell Rds.), in Piano, on the se- 
cond Saturday of the month at 1:30 pm. Contact Betty Clay 
817-274-0709. 

Southern Minnesota Commodore Users Group meets at 
Mankato State University on the first Thursday of each month 
at 7:30 pm. Contact Dean Otto 507-625-6942. 

Tri-City Commodore Computer Club meets at Washington 
Public Power Supply System auditorium on George Washington 
Way on the second Wednesday of the month at 7:00 pm. Con- 
tact George Carpenter 216-946-7746. 

Westmoreland Commodore User's Club (Penn.) meets at 
Westmoreland County Community College, in Youngwood, on 
the third Friday evening of each month. Contact Bob IvlcKiniey 
412-863-3930. 

INTERNATIONAL 

Baden Computer Club (West Germany) meets at CFB Baden- 
Soellingen on the second Sunday of each month at 7 pm. Con- 
tact Ben Brash. 

Trinidad Association of Commodore Owners — TACO meets 
at St. fvlary's College, Frederick Street, Port of Spam, every sec- 
ond Saturday of the month at 2 pm. 



Classifieds 

For Sale: PET 2001 with 4.0 ROM upgrade, 4040 drives 
with 4.0 ROM addition, 2022 graphics printer. All cables, 
excellent shape original set, $700.00. Dave Whitaker 
615-478-4538 day, 615-476-6634 night. 

For Sale: ln(o-Design Accounting Package, for 1 541 drive, 
G./L, A/P and l/M, all with backups and manuals. SI 95.00. 
416-655-4003- 

Wanted: iVlodem for PET/CBM computer. Gene CSinger, 
P.O. Box 491. San Clements, CA 92672. 714-498-6935. 

Wanted: 2031/4040 drive, 4010, modem for 4032-N PET. 
Used OK 80 column conversion wanted. Ideas'' Marc 
McSwain.4513 Acushnet, Corpus Christi. TX 78413. USA. 

For Sale: B128, 8050 drive, 4023 phnter (all with covers). 
Also P13 USl Monitor, amber black, plus Precision Soft- 
ware's Superscript and Superbase, Leo Grabowski 
717-724-5210. Price: S795.00 (US) LOT, 

CBM 8096, 8050, 8023P, Silicon Office, CalcResult, 
manuals, more. Best offer. Call Ron 416-900-1994, days. 

Wanted: Tape or cartridge home application and business 
software for use on ViC 20. G.B. Swan, Box 127, Stewart, 
BC, Canada, VOT 1W0 or phone 604-636-2378 evenings. 

Plans: lor inexpensive build-it-yourself computer cabinet; 
£4.50/set. Flexible, versatile design will hold C-64/ViC 20, 
2 disk drives (1541), printer, monitors, and much more. 
From A.W, Walters, RR#3, Nelson. BC, VI L 5P6. 

For Sale: SuperPET or SuperPET board assembly that I will 
install in an 8032. Offers. Mike Donegan 416-639-0329. 



iH^Ena^'s 




To satisfy the demand for our high quality disl< games 
and cassettes, we 're introducing: 

MASTERTRONIC'S 

MAILORDERMANIA! 

Loo/f at these spectacular prices now available through 
our mail order department ... and it's so simple to order: 

You select from our product list: 



Arcade Action 








Arcade Action 






Space Walk 


C6J D.5C 


Cass 


S9 99 


Big Mac 


C64 Disc 


S9 99 


BMXRace' 


C64 Disc 


Cass 


S9 99 


Ctiallenger 


C64 Disc 


S9 99 


Chiller 


C6J Disc 


Cass 


S9 99 


SlaracE 


C64 Disc 


$9 99 


Cily Fighler 


C64 Disc/Cass 


S9 99 


Pigs in Space 


CB4 Disc 


$9 99 


Duck Shoot 


C6J Disc 


Cass 


59 99 


CandiOate 


C64 Disc 


S9 99 


Oibilron 


CS4 Disc 


Cass 


S9 9g 


MinoCoritrol 


C64 Disc 


S9 99 


Squirm 


C84 Disc 


Cass 


S9 99 


Dark Star 


C64 Disc 


S9 99 


Kikst^n 


C64DISC 




S9 99 


Magic Carpet 


064 Disc 


$9 99 


Wuncfifnana 


C64 Cass 




S9 99 


1985 


C64 Disc 


S9 99 


Bionic Granny 


Ce4Cass 




S9 99 


Vegas Jackpot 


C64 Disc 


S9 99 


3DMnze 


VicX 




$7 99 


Vegas Jackpot 


Vic 20 


S?99 


DuckSHool 


Vic 20 




$7 99 


Doodle Bag 


Vic 20 


$7 99 


New York Bill; 


Vic 20 




S7 99 


R 1 P 


Vic 20 


$7 99 


Bullel 


Vic SO 




S7 99 


Sub Hunt 


Vic 20 


$7 99 


Undermine 


Vic 20 




$7 99 


Phantom Attack 


Vic 20 


S7 99 


Neulron Zapper 


Vic 20 




S7 99 


Psycho Stiopper 


Vic 20 


57 99 


Rockman 


Vic 20 




S7 9S 








Adventure 


064 Disc 




S1299 


Adventure 






Quest for ine 


Se-Kaa of 


C64 Disc 


$1299 


HolyGrajl 








Ass.a 


Cass 




Educallonat 








Educational 

Make Music 


C64 Disc 




Count with 


C64 Disc 




St299 


S12 99 


Oliver 








with Mislertronic 




Look Sharp 


C64 Disc 




$12 99 


Quick Thinking 


C64 Disc 


S1299 


Ulllllles 








Ulilities 







Gam(?sCreator C64Disc^Cass St999 Games Designer Vic20 S1299 

Order 2 or more, and receive a free 19x25 l\AastertrQnic 
Poster/Calendar! 

You mail your order to: 

Pearl Direct Marketing Corp. 
60 Bullock Drive, 
Markham, Ontario L3P 3P2 

Plus S2.00 postage & handling 

Visa & Mastercard accepted 

(Ontario residents add 7% retail sales lax) 

You receive your exciting Mastertronic software by 
prompt return mail, plus a free catalogue of all 
our products. 

For further information call us at (41 6) 471-5858 



June 1985 45 









s?» 



\^''}J^B>^''' 



03- 



AtCURAIf 

MICRO ADJUSIMEWl 



USt5 SCBttN DISPLAY 

NO SPECIAL ItSl EQUIPMENT 



DIPtCIlON OF 
STEPPER MQIOR 
MOVEMENT 




CHECKS MECHANICAL 
STOP POSITION 



SCREEN READ 
RADlAl HEAD 



CHECKS SPEED H CLAMPING 
OF DRIVE 



Package includes 

• True digital alignmen 

• Quiet Drive stops to 
continued realignrne 

(703) 491-6502 
800-762-5545 

CARDINAL SOFTWARE 
See reviews in- HUN, Jan. TSBS. 
p. T22: Midnighl Gajelie e2T_ 
jl9B4. p, 49: Ahoy' April 19BS. p. 32 



t disk with offset tracks 

reduce need for 

nt on old style drives. 



C9 



13646 JEFFERSON DAVIS HWY 
VUOODBRIDGE VA 22191 
In Canada APPIN MICRO 
1?B3 PHARMACY AVE 
SCAFIBOROUGH ONT MIR 2J I 
11161 Ja30a43 J 



TPUG Magazine 
Distributors 



Dealers: If ymt iv-tndd like to carry TPUG Mapaxint' in 
ijiiHT sfnre, tfOH may order Jrom ani/ one <:f lln- fniluiviruj 
distritiutorii: 

CANADA 

Micron Distributors, Toronto, ON 800-268-1238 

Compulit Distributors, Port Goquitlain, BC 604-464-1221 

USA 

Prairie News, Chicago, IL 312-384-5350 

Levity l.)irit.ril)iitors. North Hollywood, CA 838-506-7958 
Whole Life Distributors, Euglewood, CO 303-761-2435 
M-6 Distribution, Houston, TX 713-778-3002 

The Homing Pigeon, Elgin, TX 512-276-7962 

Northeast News Distributors, Kingston, NY 91 4-382-2000 
Fred Bay News Co., Portland, OR 503-228-0251 

Alonso Book = Poriodical, Alexandria, VA 703-765-1211 
Cornucopia DistrilimLui. Seattle, WA 206-323-6247 

Guild News, Atlanta, GA 404-252-4166 

Micro- PACE. Champai-gji. IL 800-362-9653 



TPUG has implemented the popular 6809 operating system 
'OS/9' on the SuperPET. Super-OS/9 greatly expands 
software availability and the hardware capabilities oi this 
computer while at the same time preserving access to the 
Waterloo languages and programs. 
The cost of Super-OS/9 to club members will be $195 
(Cdn.), which will include the cost of a hardware 
modification that will not affect the normal operation of the 
SuperPET. Two board SuperPETs require a simple 
hardware modification — we provide instructions. To obtain 
your copy please send SI 95 (Cdn.) to: TPUG {1912A 
Avenue Rd., Suite 1, Toronto, Ont., fv15M 4A1, Canada). 

What does Super-OS/9 offer? 

• A true operating system with UNIX features and the 
simplicity and command style of Commodore BASIC: 

• Multi-tasking and multi-user environment; 

• Multi-level directories similar to those available in MS DOS 
2.O.: 

• Time and date stamp for all directory entries (files): 

• File access privileges may be restricted by the owner of 
a file. 

Extensive software is available for OS/9, most of which will 
run on the SuperPET. 



OS/9 IS HERE 



The Super-OS/9 package includes an assembler, editor, 

command (shell) library monitor, symbolic debugger and 

25K RAM Disk. 

Available Languages (compilers) Include BASIC-09, Pascal, 

CIS-COBOL, 'C Language, and others. 

Available Applications Programs: Word processors, 

business, inventory and accounting applications. 

Public Domain: Software, relational database and 

spreadsheets, extensive public domain software and 

documentation, 

TPUG will acquire public domain software and assist users 

in the conversion of commercial software to Commodore 

format. 

Portability and Expandability 

• Super-OS/9 programs will run on all OS/9-based 
microcomputers. 

• Super-OS/9 will run hard disks and parallel drives, 

• There will be source code compatibility to versions of 
OS/9 that are planned for the Motorola 68000. 

For information call TPUG Inc. (416)782-8900 

(416)782-9252 
For technical information 
Gerry Gold (416) 667-3159/225-8760 



C64 

PROVINCIAL 
PAYROLL 

A complete Canadian Payroll System for Small 
Business. 

• 50 Employees per disk (1541) • 
Calculate and Print Journals • Print 
Cheques • Calculate submissions 
summary for Revenue Canada • 
Accumulates data and prints T-4s • Also 
available for 4032 and 8032 Commodore 
Computers. 

Available from your Commodore Dealer. 



Distributed by^ 



» 



ICROCOMPUTER 
SOLUTIONS 

1262DONM1LLSRD. STE. 4 
DON MILLS. ONTARIO M3B 2W7 
TEL: {416( 447-4811 



Ask Someone Who Knows 

If you enjoy Jim Strasma's many books, and his 
articles in this and other magazines, you'll be glad 
he also edits his own highly-acclaimed computer 
magazine, now in its sixth year of continuous 
publication. Written just for owners of Com- 
modore's many computers, each IVIidnite Software 
Gazette contains hundreds of brief, honest 
reviews. 

Midnite also features timely Commodore 
news, hints and articles, all organized for instant 
reference, and never a wasted word. Whether you 
are just beginning or a long-time hobbyist, each 
issue will help you and your computer to work 
together effectively. 

A six issue annual subscription is $23. To 
subscribe, or request a sample issue, just write: 

MIDNITE SOFTWARE GAZETTE 

P.O. Box 1747 

Champaign, IL 61820 

You'll be glad you did! 



0Sl9 Software NOW AVAILABLE! 



I 



Spreadsheet - DynaCatc US$93 Can$129 

A third generation spreadsheet. Powerful and easy to 
use. 

Word Processor - Stylograph II 

US$149 Can$189 

Menu driven, fast. Extensive features. 
Formats to screen as you work. 

Mailmerge - a self-standing program that merges 

files and creates form letters. 

Spellcheck - a high-speed 40,000 word plus dic- 

tioary, works with Stylograph or any other word 

processor. 

C Compiler US$120** CanS166** 

Full featured, faithful to Keren and Richie standard. 
The language of the future. 



BASIC 09 US$110 Can$152 

A full featured, sophisticated semi-compiled BASIC. 

See BYTE magazine, April 1984. 

Pascal US$175 Can$242 

A full featured standard Pascal Compiler, 

Fortran (Avail. Aug. '85) US$120** Can$166** 
A full featured standard Fortran compiler. 
SORED US$75 Can$104 

A full screen editor with full cut-and-paste. 
DATABASE - COMING SOON 

These prices represent substantial reductions from 
usual 0S9 software prices. 

**10 copy bulk prices. 



Please add $10 for shipping/handling. All prices subject to change. Ontario residents add 7% PST. 

Please order direct, enclosing cheque or money order to: 

TPUG, 1912A Avenue Rd., Suite #1, Toronto, Ontario M5M 4A1 



od^e^tesrr .™! 


to 


Academy Software 


21 


AHOY Magazine 


BC 


Cardinal Software 


46 


Comal Users Group, tJSA 


21 


Computer Rentals 


34 


Comspec Communications Inc. 


7 


C.P.U. Electronic Systems Corp, 


?5,42 


Cricket Distribution Co, 


21 


Electronics 2001 Ltd. 


IPC 


M.A.R.C.A. 


3 


Mastertronic 


45 


Microcomputer Solutions 


47 


Midnite Software Gazette 


47 


Progressive Peripherals & Software 


5 


Programmers Guild Products 


33 


S & V Associates 


20 


Soft Waretiouse (The) 


27 


Toronto Computes! 


25 


TPUG {Comal Reference Guide) 


33 


TPUG (Disk Subscription) 


IBC 


TPUG {OS/9) 


46 


TPUG {OS/9 Software) 


47 


Traico Educational Software 


34 


Transactor (The) 


25 


Ufland Software 


24 


Wycor Business Systems 


33 



TPUG Con 

TPUG OFFICE 416/782-9252, 


tacts 

416/782-8900 


TPUG BBS 416/782-9534 


Board of Directors 




President 


Michael Bonnycas 


tie 416/654-2381 


Vice-President 


Chris Bennett 


416/782-9252 


Treasurer 


Carol Shevlin 


c/o4 16/782-8900 


Recording Sec. 


John Shepherd 


416/244-1487 




Rosemary Beasiey c/o416/782-8900 | 




Gord Campbell 


416/492-9518 




Gary Croft 


416/727-8795 




Mike Donegan 


416/639-0329 




Bill Outfield 


416/224-0642 




John Easton 


416/251.1511 




Carl Epstein 


416/492-0222 




Keith Falkner 


416/481-0678 




Gerry Gold 


416/225-8760 




Rob Lockwood 


416/483-2013 




Louise Redgers 


416/447-4811 


General Manager 


Louise Redgers 


416/782-8900 


Library Co-ord. 


David Bradley 


c/o4 16/782-8900 




or the TPUG BBS 416/782-9534 ] 




or CompuServe 


ID^ 70216,414 


TPUG Magazine 






Publisher 


Louise Redgers 


416/782-1861 


Editor 


Nick Sullivan 


416/782-1861 


Assistant Editor 


Marya Miller 


416/782-1861 


Ad Director 


Louise Redgers 


416/782-1861 


Meeting Co-ordinators 




Brampton Chapter 


Garry Ledez 


c/o4 16/782-8900 


Central Chapter 


Michael Bonnycastle 416/654-2381 | 


C-64 Chapter 


Louise Redgers 


416/447-4811 


COMAL Chapter 


Donald Dalley 


416/742-3790 




Victor Gough 


416/677-8840 


Communications 


Richard Bradley 


c/o41 6/782-8900 


Eastside Chapter 


Judith Wiilans 


c/o41 6/782-8900 




Darren P'uller 


C/O416/782-8900 


Hardware Chapter 




c/o4 16/782-8900 


Machine Language 


Garry Ledez 


c/o4 16/782-8900 


SuperPET Chaptei 


• Gerry Gold 


416/225-8760 


VIC 20 Chapter 


Riek'Adlard 


416/486-7835 




Anne Gudz 


c/o41 6/782-8900 


Westside Chapter 


John Easton 


416/251-1511 




Al Farquharson 


519/442-7000 


Librarians 






COMAL 


Victor Gough 


416/677-8840 


Commodore 64 


David Bradley 


C/O416/782-8900 




Richard Bradley 


c/o416/782-8900 


French 


Baudouin St-Cyr 


c/o41 6/782-8900 


PET 


Mike Donegan 


416/639-0329 


SuperPET 


Bill Outfield 


416/224-0642 


VIC 20 


Daryl King 


C/O416/782-8900 




Walter Holowatenko 416/782-8900 | 


BBS Sysop (voice) 


Richard Bradley 


c/o416/782-8900 


Assistant Sysop 


Sandi Paquette 


c/o4 16/782-8900 



TPUG 

LIDRARY DISKS 



10 months of the 
latest, fabulous 
public domain 
software 

ONLY 

$79.95 





/ /// 


JS 


T FLU Ulr-.i!. 1j:i^ 


in 


tc'oiic Onlario. CanMi u^U «ai | 
1I1E1 7n7-SZ&3 




VO' 


* 


A 




CAN 


.i. 



SAVE 20% 

or more by 

using this 

offer 



Subscribe now to start receiving the 
TPUG disk of the month in September 



*US orders US$59.95 



Name. 



Membership #, 



Address . 



D Cheque D Money Order D VISA D MASTERCARD Amounts Currency D Can. D US 

Credit Card # Expiry date Signature 



Type of disk: D C-64 



nVIC20 



DPET 



DSuperPET(IOdiskset) 



xmMllTw # Commodore Magazine 



k 



>^>v 




MOST 

CURRENT 

AND 

COMPLETE 

NEWSl 



DETAILED 

HARDWARE 

ARTICLES! 



THE MOST 

COLOR 

GRAPHICS! 



PROGRAMS, 
PROGRAMS, 
PROGRAMS! 



CLEARER, 

MORE 

COMPREHENSIVE 

TUTORIALS! 



THE MOST 
PRODUCT 
REVIEWS 






f^ 



»LUS: 

Creating Your Own Games on the VIC and 64 

-an indispensable guide to the theory and technique of 

game design. 
Commodares— programming challenges to toggle the bits in your own 

random access memory. 
Ship to Shore— the latest on the telecommunications front. 
SOS— your programming maydays answered. 



U.S.A. 

□ 1 year Ahoy! subscription (12 issues).... $19.95 

□ 2 year Ahoy! subscription (24 issues) $37.95 

□ My payment (in U.S. dollars) is enclosed. 

□ Bill me. 
Make check or money order payable to Ion International. 
Send coupon or facsimile to: Ahoy! T-PUG 3 
Ion International Inc., 45 West 34th St., Suite 407, New York, NY 10001 

NAME 

ADDRESS 

CITY 



CANADA & ELSEWHERE 
$26.95 
$49.95 



Please check: 

] Disk 
B Cassette 



_STATE_ 



.ZIP.